欢迎来到天天文库
浏览记录
ID:36731181
大小:376.66 KB
页数:19页
时间:2019-05-14
《S7-200SMARTCPU与S7-300PN口进行TCP通信-SMART做服务器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实用标准文案S7-200SMART与S7-300集成PN口之间TCP通信—S7-200SMART作为服务器TCP协议通信TCP通信为面向连接的通信,需要双方都调用指令以建立连接及交换数据。S7-200SMART与S7-300通过TCP通信,在S7-300调用T-block指令(TCON,TDISCON,TSEND,TRCV),在S7-200SMART调用OpenUserCommunication库指令(TCP_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)。双方的发送和接收指令必须成对出现。客户端:主动建立连接,可以理解为主站;服务器:被
2、动建立连接,可以理解为从站。 注意:S7-200SMART在CPU硬件固件及编程软件版本均升级到V2.2之后才开始支持开放式通信。编程软件版本低于V2.2,无OpenUserCommunication库指令;硬件固件低于V2.2,硬件不支持开放式通信协议。S7-200SMARTTCP连接资源:8个主动连接资源,8个被动连接资源S7-200SMARTTCP通信数据量:1024字节精彩文档实用标准文案硬件和软件需求及所完成的通信任务硬件: ①S7-300CPU(IP地址192.168.0.101;子网掩码255.255.255.0)②S7-200SMARTCPU(固件版
3、本V2.2)(IP地址192.168.0.20;子网掩码255.255.255.0)③PC(带以太网卡)④TP以太网电缆 软件:①STEP7V13SP1Upd9②STEP7Micro/WINSMART(软件版本V2.2) 所完成的通信任务:①S7-300发送10个字节数据:(S7-300侧)DB5.DBB0~DB5.DBB9-->(S7-200SMART侧)VB2000~VB2009②S7-300接收10个字节数据:(S7-300侧)DB5.DBB10~DB5.DBB19<--(S7-200SMART侧) VB0~VB9S7-300侧硬件组态和编程 (客户机侧组态编
4、程)1.使用TIAV13SP1Upd9软件Portal视图中,创建新项目2.添加硬件并命名PLC进入“项目视图”,在“项目树”下双击“添加新设备”,在对话框中选择所使用的S7-300CPU添加到机架上,命名为PLC_2如图1所示。精彩文档实用标准文案图1. 添加新设备3.启用时钟位为了编程方便,使用CPU属性中定义的时钟位,定义方法如下:在“项目树”>“PLC_2”>“设备组态”中,选中CPU,然后在下面的属性窗口中,“属性”>“时钟存储器”下,将时钟位定义在MB0,如图2所示。精彩文档实用标准文案时钟位我们使用M0.7,它是频率为0.5Hz的脉冲,可以使用它去自动
5、激活发送任务。图2.启用时钟位4. 为PROFINET通信口分配以太网地址在“设备视图”中点击CPU上代表PROFINET通信口的绿色小方块,在下方会出现PROFINET接口的属性,在“以太网地址”下分配S7-300CPU的IP地址为192.168.0.101,子网掩码为255.255.255.0,如图3所示。精彩文档实用标准文案图3. 分配IP地址5.在S7-300中调用建立连接指令,进入“项目树”>“PLC_2”>“程序块”>“OB1”主程序中,从右侧窗口“指令”>“通信”>“开放式用户通信”下调用“TCON”指令,配置连接参数,如图4所示。精彩文档实用标准文案
6、图4. 调用TCON指令并配置连接参数6.创建用于交换数据的全局DB块及定义变量通过“项目树”>“PLC_2”>“程序块”>“添加新块”,选择“数据块”创建全局DB块,点击“确定”生成数据块。如图5所示。S7-300生成的数据块都是非优化的数据块,不用单独设置。精彩文档实用标准文案图5.添加新块双击生成的“数据块_1”(DB5),定义数组,10个字节用于发送,10个字节用于接收,然后编译数据块。结果如图6.所示。图6. 定义交换数据区7.在OB1中调用TSEND和TRCV精彩文档实用标准文案指令块位置及调用方法参考TCON指令的调用,调用结果如图7所示。CALLTS
7、END,DB3//调用TSEND,使用背景DB块:DB3REQ:M0.7//使用0.5Hz的时钟脉冲,上升沿激活发送任务ID:1//连接号,要与连接配置中一致DATA:P#DB5.DBX0.0BYTE10//发送数据区的数据,需要注意DB块要选用绝对寻址DONE:M20.0//任务执行完成并且没有错误,该位置1精彩文档实用标准文案BUSY:M20.1//该位为1,代表任务未完成,不能激活新任务ERROR:M20.2//通信过程中有错误发生,该位置1STATUS:MW22//有错误发生时,会显示错误信息CALLTRCV,DB4//调用TRCV,使用背景DB块:DB
此文档下载收益归作者所有