首页 理论教育 编写验证通信程序,实现要求

编写验证通信程序,实现要求

时间:2023-11-16 理论教育 版权反馈
【摘要】:因此将发送程序放在中断循环周期为100ms的OB35中,每100ms发送一次数据。程序段1:初始化存放要发送的数据的地址区程序段2:将存放接收到的数据的地址区清零2.CPU315-2DP的通信程序CPU 315-2DP的发送程序和接收程序与CPU 413-2DP的基本上相同,参数LADDR的值为W#16#140。图4-35 3号站的变量表图4-36 5号站的的变量表

编写验证通信程序,实现要求

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

978-7-111-28256-3-Chapter04-77.jpg

程序段2:发送程序

978-7-111-28256-3-Chapter04-78.jpg

下面是CPU413-2DP的OB1中的接收程序:

程序段1:接收程序

978-7-111-28256-3-Chapter04-79.jpg

初始化程序OB100中,调用SFC21预置发送数据区的字的初值为W#16#4444,将数据接收区清零。

程序段1:初始化存放要发送的数据的地址

978-7-111-28256-3-Chapter04-80.jpg

程序段2:将存放接收到的数据的地址区清零

978-7-111-28256-3-Chapter04-81.jpg

978-7-111-28256-3-Chapter04-82.jpg

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

978-7-111-28256-3-Chapter04-83.jpg

程序段2:发送程序

978-7-111-28256-3-Chapter04-84.jpg

下面是CPU 315-2DP的OB1中的接收程序:

程序段1:接收程序

978-7-111-28256-3-Chapter04-85.jpg

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的状态随之而变。

978-7-111-28256-3-Chapter04-86.jpg

图4-35 3号站的变量表

978-7-111-28256-3-Chapter04-87.jpg

图4-36 5号站的的变量表

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈