西门子S7-200 smart modbus自由口通讯
西门子200 smart modbus自由口通讯个人认为如同2个人打乒乓球的游戏,不、应该是比赛更合适,因为打乒乓球之前必须有一个严格的比赛规则,双方都将遵循这个规则(通讯协议)。所以,通讯基本参数就如先发布比赛规则,然后双方才能在此规则下允许一场友谊比赛。 先说说发球方,即通讯程序中的发送指令(XMT)。该指令仅仅只需2个管脚要用户填写。TBL为发送数据的储存地址区,数据类型(byte),其中,第一个仅仅是发送数据的个数储存地址区,该地址不参与发送数据;PROT为指定通讯端口,集成本机口填写为“0”口,控制的信号板填写“1”口。程序例子:假设发送字符【Siemens】为例,prot0口
字符simenes共有7个字符,分别在以VB1开始的连续7个字符中写入(必须是连续的地址区编写)。写入的方法可以由数据块中直接写入,也可以用MOV_B指令来完成(如果数据量比较大,这个方式估计会让你抓狂,当然适合变化、调整的数据编写癫痫检查项目)。数据块编辑方式:
数据块也允许直接写入一串字符的方法进行,图示:
下载到cpu后,监控数据数值,图示:
这样,cpu会按每一秒的节拍方式,由prot0口把字符串“Siemens”无限次发送出去。如果需要多个数据串连续发送,如何来界定这其中的一串数据发送完成?西门子20郑州军海脑病医院评价咋样0 smart通讯程序可以用中断或者标志位来界定,其中,发送完成中断在prot0口的中断事件号为事件9、prot1口中断事件号为26;也可以通过标志位prot0口为SM4.5、prot1口为SM4.6来确定。图示为用发送完成标志位SM4.5检测:
如果需要调用中断来界定通讯发送完成或者接收完成中断,则需要事先设置通讯中断事件了。调用通讯发送完成中断程序:1)新建一个初始化通讯子程序:
2)主程序调用:
3)中断子程序中实现VD10的累加,图示:
注意!通讯字符发送只允许编写英文字符或者拼音字母,不允许用汉字来编写。如何来确定例子程序的发送字符是正常的呢?一般我们用串口调试软件来实现(当然也可以2台plc之间通讯测试)。该软件网上一大堆,随便搜索一下,下载一个安装就可以的,当然,也有免安装的那种。我这里用的是这种串口调试软件,图示:
重庆癫痫康复军海砺攻勊打开这个串口调试软件的界面,图示:
与PLC连接好通讯电缆,就可以监控PLC从prot0口所发送的字符数据内癫痫病医院容了。球是发出去了,是否能够让“对方”正常接收是一个未知数,因为能够正确接球,需要考虑硬件的正确连接,软件协议的一致性,干扰原因等因数(这关系到接球方的球艺)。