网站首页 > 技术教程 正文
在上一篇文章中,我们提到了有关于自由口通信的一些基础知识,给大家解释了什么叫通信协议,什么叫信息帧或消息报文,起始符/结束符与起始位/停止位之间的关系。那么今天就跟大家聊聊西门子S7200系列的自由口通信功能及程序的设计。
自由口通信模式(Freeport Mode)是S7-200系列PLC的一个很有特色的功能,借助自由口通信,用户可以自己使用(XMT和RCV)对端口进行操作,可以是S7-200系列PLC与任何通信协议已知且具有串口的智能设备和控制器实现通信,如打印机,变频器,智能仪表等。
S7-200CPU上的通信口在电气上是标准的RS-485半双工串行通信(所谓半双工通信即发送和接收不能同时进行,所以在设计程序的时候,发送完后才能接收 ,接收完后才能发送)此串行字符通信的格式可以包括:
(1)一个起始位
(2)7位或是8位字符(数据字节)
(3)一个奇/偶校验位,或者没有校验位
(4)一个停止位
(5)波特率:1200、2400、4800、9600、19200、38400、57600或112500bps的波特率
满足以上条件的通信的格式,都可以使用自由口通信的方式去完成信息的交换。
若需要使用PLC通过自由口的方式发生数据出去,必须完成以下几个内容:
(1)通信格式的设置,用于规定通信双方的通信格式
(2)PLC需要通过XMT指令发送的数据,可以根据通信协议提供的信息帧格式去准备,
(3)信息发送完成的判断,用户只有根据信息是否发送完成后 ,才可以进行信息的接收程序的设计或是决定下一次的发送。
以上一篇文章中提到的仪表的通信协议为例:
(1)设置要PLC的中的通信格式字。
通信格式字的设置对于PLC来讲有特殊的系统存储器来进行存储,在200系列PLC中通过SMB30(port0口)SMB130(Port1口)来进行存储,设置通信格式字是必须配合从站设备来进行设置,如下所示为仪表提供的参数设置
在这里面,若选择9600的波特率,一位停止位、8个数据、无校验的方式,(注意:不能设置为2个停止位,因PLC自由口通信时不支持2个停止位)。则PLC中通信格式字可设置为16#09.通信格式字按照下图所示进行设置:
(2)根据通信协议准备需要通过XMT指令发送出去的数据:
假设需要读取仪表中的过程值,需要根据通信协议的格式,然后准备好相应的数据:
XMT指令格式:
注:T表示的是指令中TBL的地址,如如所示: T表示VB0,所以T+0表示VB0,T+1,表示VB1依次下去。port表示的是PLC的端口号。
可以通过在数据块中定义好你需要发送的数据:
(3)信息发送完成的判断
判断信息是否发送完成可以通过两种方式进行判断,
一种使用发送完成中断的方式去判断
port0和port1有对应发送完成中断事件,可以通过发送完成中断事件来判断信息是否发送完成。PORT0和PORT1两个端口分别分配了两个中断事件用来表示信息发送完成。对于PORT0口来说分配中断事件9,对于PORT1口来说分配中断事件26
也可以通过系统存储位来进行判断.
通过特殊完成标志位来进行判断,可以通过对发送完成标志位SM4.5(port0)或SM4.6(port1)的监控来判断数据是否发送完成。SM4.5=1 表示端口0处于空闲状态,SM4.5 = 0 表示端口0处于传送状态。
- 上一篇: 串口转以太网转换器的几种工作模式
- 下一篇: VB硬件技术 vb软件教程
猜你喜欢
- 2024-11-07 不懂485通讯?那高手的经典系列文章你一定要看!数据接收2/系列4
- 2024-11-07 技术大牛的经验好文!教你学懂RS-485,数据的接收2(系列4)
- 2024-11-07 S7-200smart 与超声波流量计之间的MODBUS通讯
- 2024-11-07 「玩转485」之数据的发送 485怎么传输数据
- 2024-11-07 PLC串口转网口的设备都有哪些? plc串口转网口的设备都有哪些
- 2024-11-07 写给初学者的博途教程(MODBUS-RTU通讯组态指令应用)
- 2024-11-07 RS-485总线扫盲贴!轻轻松松简简单单带你玩转RS-485
- 2024-11-07 灵活扩展-RS232串口I/O模块推荐 rs232串口接口定义
- 2024-11-07 「技术」清楚简单,一种串口触摸屏的开发流程和方法介绍
- 2024-11-07 西门子S7-200 SMART自由口通信参数如何设置?编写发送接收程序
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)