分享免费的编程资源和教程

网站首页 > 技术教程 正文

「亿维技术课堂」S7 200 SMART 串口自由口快速应用

goqiw 2024-11-07 11:13:41 技术教程 43 ℃ 0 评论

一、硬件连线

对于第三方的设备,如扫码枪、打印机、仪表等,为非标准的总线协议、自定义的协议,称之为自由口协议。在启动程序编写之前,首先要明确第三方的设备的串口类型。

1.通信接口

A. 第三方设备串口为232的SMART CPU本体串口为RS-485,欲与232设备进行通信,中间需加一个232to485的转换器。常见连线如图1。


B. 第三方设备串口为485的

SMART CPU和第三方设备串口皆为485时,可用直连。常见连线如图2。


C. 第三方设备串口为422的
第三方设备串口为422的,需将422改为485接法。常见连线如图3。

2.通讯接头

在复杂的工业现场或长距离通讯的情况下,建议选择优质的总线连接器和电缆。亿维自动化的总线连接器自带终端电阻和偏置电阻,在此情况下,可提高通讯的稳定和抗干扰能力。

总线连接器和电缆,订货号如表4。

3.为什么选择总线连接器和总线电缆

众所周知,网线有超五类和超六类之分,超五类传输带宽可高达1000Mb/s,但一般只应用在100Mb/s的网络中;超六类主要应用在千兆网络中,在传输性能上远远高于超五类网线标准。超五类,超六类的电缆直观区别就是电缆铜芯线径不同,超六类铜芯明显粗于超五类。

同理推测,亿维自动化的总线电缆,回路阻抗:<150R/KM,优于一般通讯电缆。线阻小,通讯距离长,抗干扰能力强。

亿维自动化的总线连接器,自带终端电阻和偏置电阻,同样可以提高通讯的质量。

建议组网方式如图5:

终端和偏置电阻如图6:

二、通信机制

了解清楚通信机制,理清程序思路,才能编程顺利。常见的通信机制如下:

A. CPU只接受不发送,即第三方设备只发送不接收。常见的如扫码枪。

B. CPU只发送不接收,即第三方设备只接收不发送。常见的如打印机。

C. CPU先发送,再接收,再发送,再接收。CPU通信机制类似主站机制,如Modbus RTU Master。

D. CPU先接收,再发送,再接收,再发送。CPU通信机制类似从站机制,如Modbus RTU Slave。

E.通信逻辑自定义。

三、通信报文

通信报文,即发送和接收的数据格式。如Modbus通信,通信格式有明确定义。通信的双方要按照约定的格式及长度发送、接收相应的数据。

CPU做主站,以Modbus RTU主站报文为例,CPU发送的数据格式如下:

上面示例主要要说明的是,理解通讯双方约定的通讯数据每一个字节所代表的含义。只有理解清楚了数据的含义,才能对数据进行读取或封装。

四、PLC控制字

在编写程序之前,还有一项准备工作,理解定义串口/通讯方式的控制字。

A.串口控制字

SMB30 和 SMB130 分别组态通信端口 0 和 1 以进行自由端口操作,并提供波特率、奇偶校验和数据位数的选择。下图显示了自由端口控制字节。对于所有组态,都生成一个停止位。

SMB30\SMB130数据位格式:

SMB30\SMB130数据定义:

B.通讯控制字&状态字

五、PLC只收不发

A.主程序上电串口初始化

2#00 0 010 01 SMB30 8-N-1 9600 自由口

2#01110000 SMB87

接收数据的表头位为A5,表尾为5A

接收长度10个字节 SMB94

B. 打开接收完成中断

C. 触发接收指令,接收到的数据放置在VB200开始的寄存器区。

D. 接收完成中断程序中,打开接收。

控制字中,接收数据长度设为10,接收到的数据存放在VB201开始的10个字节,VB200为接收到字节计数器。

六、 PLC只发不收

A.串口初始化

B.组织要发送的数据

C.触发发送指令

起始字节即VB100为发送的字节长度

D.报文监控

发送长度不同时的报文

七、PLC先发后收

逻辑类似Modbus主站,也可用自由口模式,编辑Modbus 通讯。

A.串口初始化,一般要定义接收的字符长度,或结束字符,以判断接收结束。

初始化时,连接发送完成中断,接收完成中断。

B.组织发送数据

本例发送长度10个字节,VB100=10,VB100-VB110为发送的数据

C.程序逻辑

D.发送&超时判断

若超时,关闭接收,即复位SM87.7

超时标志位下降沿,重新打开接收,即置位SM87.7,并再次触发发送。

E.发送完成,打开接收

F.接收完成,再次触发发送

G.报文分析

发送完成,PLC未接收到数据,超时后继续发送。如报文前五行。

发送完成,PLC收到数据,立即触发下一次发送。如第六第7行报文。

八、PLC先收后发

逻辑和上一章节类似,逻辑类似Modbus 从站。

九、接收字符中断

串口初始化,可忽视接收字符长度,结束字符等,编程更灵活。

A.串口初始化

连接接收字符中断

B.组织发送报文,触发发送指令

接收字符中断,蒋接收到的数据存放至目标寄存器

十、问题排查

通讯异常时,建议从以下几个方面排查:

A.确保通讯电缆连接正确,参考第一章节,重点关注1.1章节。

B.确保通讯参数一致。

C.用电脑串口助手软件,监控通讯报文,定位是PLC没有发出数据,还是设备没有响应数据,参考第三章节。

监控通讯报文:将电脑485的A、B并联在通讯链路上,软件推荐串口助手。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表