1.CPU413-2DP的通信程序
S5兼容通信的双方通过调用程序编辑器左边窗口的文件夹“\库\SIMATIC_NET_CP”中的通信功能FC 5AG_SEND和FC 6 AG_RECV来实现FDL服务。S7-300和S7-400分别使用子文件夹“CP 300”和“CP 400”中的FC,不能混用。AG_SEND用于将用户数据区的数据传送给PROFIBUSCP,再发送出去,AG_RECV用于将PROFIBUSCP接收的数据存放到用户数据区。
下面是CPU 413-2DP的OB35中的程序,ACT是FC5“AG_SEND”的发送使能位,ACT为1状态时发送数据,为了实现周期性的数据发送,令ACT一直为1状态(true),如果在OB1中调用FC 5,将在每一个循环扫描周期发送一次数据,发送将过于频繁。因此将发送程序放在中断循环周期为100ms的OB35中,每100ms发送一次数据。
程序段1:每100ms将DB1.DBW0加1
程序段2:发送程序
下面是CPU413-2DP的OB1中的接收程序:
程序段1:接收程序
在初始化程序OB100中,调用SFC21预置发送数据区的字的初值为W#16#4444,将数据接收区清零。
程序段1:初始化存放要发送的数据的地址区
程序段2:将存放接收到的数据的地址区清零
2.CPU315-2DP的通信程序(www.xing528.com)
CPU 315-2DP的发送程序和接收程序与CPU 413-2DP的基本上相同,参数LADDR的值为W#16#140。
下面是CPU 315-2DP的OB35中的程序:
程序段1:每100ms将DB1.DBW0加1
程序段2:发送程序
下面是CPU 315-2DP的OB1中的接收程序:
程序段1:接收程序
CPU 315-2DP的OB100中的程序与CPU 413-2DP的基本上相同,只是将发送区中的数据字初始化为W#16#3333。
将组态信息和程序分别下载到两台PLC后,用电缆连接两块CP和计算机的CP 5613的DP接口,将CP 5613设置为PROFIBUS,通过PROFIBUS网络对S7-300和S7-400进行监控。
在STEP7中同时打开主站和从站的变量表(见图4-35和图4-36)。通信双方在OB35中将DB1.DBW0加1,然后发送到对方的DB2.DBW0。在变量表中可以看到双方接收到的DB2.DBW0在不断地变化,数据接收区的最后一个字DBW238与发送方在OB100中预置的相同。用外接的小开关改变ID0的状态,可以看到通信伙伴的QD0或QD4的状态随之而变。
图4-35 3号站的变量表
图4-36 5号站的的变量表
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。