RS232和RS485用PLC编程实例,你知道怎么调试吗?经典小工具分享
最近有好朋友问我,为什么我用PLC写的232/485通讯程序不好用?我应该怎么测试是哪出现了问题?正好我最近写了一个西门子S7-200smart利用RS485进行自由口通讯向电脑发送状态的小程序,在这里和大家分享一下。
以前我们讲过,一些电子称具备RS232/485接口,可以与PLC进行通讯,那么除了这个功能,它还可以干什么?
PPI协议是西门子自己的协议,为自己的设备做连接用的。
我们重点说下自由口通讯,自由口通讯不限设备的限制,只要是支持RS485/232通讯的,不论是不是西门子的都可以使用。比如说不同PLC之间的通讯读写数据,以及和一些驱动器做通讯读写数据或者是给电脑端读写数据。
今天我们了解一下如何使用西门子S7-200SMART使用RS485端口与电脑进行通讯并调试。
首先S7-200SMART自带一个485接口,还可以拓展一个485接口,需要在硬件里配置波特率。
硬件连接需要一个PLC,一个485转232的转换器,以及一台带串口的电脑或者笔记本加串口转USB,以及串口调试工具。
西门子S7-200SMART PLC
485转232转换器(电脑侧是232)注意线序不要接错了,接错后依然有数据,只是数据是反的。
电脑端口
编程时需要配置接口信息,比如说用哪个接口发送,通讯参数是多少等等。
S7-200smart 可接两RS485口
通讯参数是特殊存储器SMB30(端口0)和SMB130(端口1)
端口设置
假如需要传输的数据是(波特率9600,无奇偶效验,数据位8,停止位1),数据从端口0传输,那么将9赋值给SMB30。
然后我们看下发送和接收指令,XMT和RCV,这两个指令需要注意的是;
1 指令需要以脉冲形式触发。
2发送或者接受的第一个字节的含义是你要发送的字节总字数。且不包含第一个。比如说我发送从VB801-VB876,所以发送地址需要写VB800,且VB800赋值为76。
主程序
程序解析;因为协议是“波特率9600,无奇偶效验,数据位8,停止位1”利用端口1进行通讯,利用脉冲触发XMT。
最后我们下载程序并触发脉冲,那么怎么进行调试呢?我们需要串口调试工具,本文用到的串口调试工具是作者从业多年用的最好的一款,绿色无需安装,且没有BUG,打开软件后,我们打开COM口,即可接收数据,还可以看到数据的总量,非常方便.想要小工具的可以关注并私信我;“串口调试工具”。
当然如果想发送让PC识别的语言的话,需要借助ASC码来帮助,这个码,大家可以去网上查找,即是通过用计算机容易发送的数字来表示字母;(比如说A在码中以16进制数字41代替,Z在码中以16进制数字5A代替)通过这个转换,PLC终于可以按照人的意愿和PC对话了,但要切记,通讯过程中的字与字之间最好用分隔符分开,而且安全起见,最后一位可以通过程序做效验。
对于一些复杂的自由口通讯协议,比如说松下伺服驱动器等涉及精度,复杂功能或者安全等,需要多次读写发送来验证是否通讯有效,这就需要中断来帮助,在这里对于端口0发送完成的标志是中断事件9,端口1发送完成的标志是中断事件26,对于端口0接收完成的标志是中断事件23,端口1接收完成的标志是中断事件24。
RS232和RS485用PLC编程实例,你知道怎么调试吗?经典小工具分享
最近有好朋友问我,为什么我用PLC写的232/485通讯程序不好用?我应该怎么测试是哪出现了问题?正好我最近写了一个西门子S7-200smart利用RS485进行自由口通讯向电脑发送状态的小程序,在这里和大家分享一下。
相信大家对RS232和RS485比较熟悉了,研究工业电气的都知道,前段时间这两个字眼在头条上太火了,火到我本来不想看最后也点进去看了几篇,但大多数文章写到的都是理论讲解,因此,这篇文章不会讲太多理论,需要理论知识的请去搜索。
以前我们讲过,一些电子称具备RS232/485接口,可以与PLC进行通讯,那么除了这个功能,它还可以干什么?
PPI协议是西门子自己的协议,为自己的设备做连接用的。
我们重点说下自由口通讯,自由口通讯不限设备的限制,只要是支持RS485/232通讯的,不论是不是西门子的都可以使用。比如说不同PLC之间的通讯读写数据,以及和一些驱动器做通讯读写数据或者是给电脑端读写数据。
今天我们了解一下如何使用西门子S7-200SMART使用RS485端口与电脑进行通讯并调试。
首先S7-200SMART自带一个485接口,还可以拓展一个485接口,需要在硬件里配置波特率。
硬件连接需要一个PLC,一个485转232的转换器,以及一台带串口的电脑或者笔记本加串口转USB,以及串口调试工具。
西门子S7-200SMART PLC
485转232转换器(电脑侧是232)注意线序不要接错了,接错后依然有数据,只是数据是反的。
电脑端口
编程时需要配置接口信息,比如说用哪个接口发送,通讯参数是多少等等。
S7-200smart 可接两RS485口
通讯参数是特殊存储器SMB30(端口0)和SMB130(端口1)
端口设置
假如需要传输的数据是(波特率9600,无奇偶效验,数据位8,停止位1),数据从端口0传输,那么将9赋值给SMB30。
然后我们看下发送和接收指令,XMT和RCV,这两个指令需要注意的是;
1 指令需要以脉冲形式触发。
2发送或者接受的第一个字节的含义是你要发送的字节总字数。且不包含第一个。比如说我发送从VB801-VB876,所以发送地址需要写VB800,且VB800赋值为76。
主程序
程序解析;因为协议是“波特率9600,无奇偶效验,数据位8,停止位1”利用端口1进行通讯,利用脉冲触发XMT。
最后我们下载程序并触发脉冲,那么怎么进行调试呢?我们需要串口调试工具,本文用到的串口调试工具是作者从业多年用的最好的一款,绿色无需安装,且没有BUG,打开软件后,我们打开COM口,即可接收数据,还可以看到数据的总量,非常方便,有需要下方留邮箱。
当然如果想发送让PC识别的语言的话,需要借助ASC码来帮助,这个码,大家可以去网上查找,即是通过用计算机容易发送的数字来表示字母;(比如说A在码中以16进制数字41代替,Z在码中以16进制数字5A代替)通过这个转换,PLC终于可以按照人的意愿和PC对话了,但要切记,通讯过程中的字与字之间最好用分隔符分开,而且安全起见,最后一位可以通过程序做效验。
对于一些复杂的自由口通讯协议,比如说松下伺服驱动器等涉及精度,复杂功能或者安全等,需要多次读写发送来验证是否通讯有效,这就需要中断来帮助,在这里对于端口0发送完成的标志是中断事件9,端口1发送完成的标志是中断事件26,对于端口0接收完成的标志是中断事件23,端口1接收完成的标志是中断事件24。中断是另一个知识点了,如果有想要学习中断的可以在下方留言。
相关问答
请问三菱PLC与电脑232接口怎么接线?
三菱PLC通信口圆8针的都是RS422的,可以使用SC09通讯电缆进行通讯。如果使用RS232通讯扩展板和通讯扩展模块可以与电脑进行RS232通讯。并且可以使用DB9插头座制...
三菱plc和工控机联起来,232线,两端都是母头(2-3/3-2/5-5)为什么测不到通讯求大神指?
先确定能不能正常通信你试一试2-23-35-5。先确定能不能正常通信你试一试2-23-35-5。
三菱plc编程口是232还是422?
回答:是RS422,但是三菱自己的说法是RS485,正常RS485是2线制的,RS422是4线制的,其他厂家一般也都是这么做的,但是我发现三菱很多地方标有RS485的都是4线制的回...
台达PLC和电脑,用USB转232怎么通讯部上?
排除通讯线等硬件的原因。电脑端口的通讯参数也要设置为和PLC的编程软件规定的相同才可以的。其中包括端口号,数据长,校验位,停止位等。因为你用的是USB转接成...
232串口接几条线?
232串口接三条线,分别是地线,发送数据线和接收数据线。地线是为了是相连通信的两个仪器间有一个共同的参考地,也就是0电位,其它的两条线就是用来发送通信数据...
三菱PLC通信口是不是用232的?
三菱PLC通信口圆8针的都是RS422的,可以使用SC09通讯电缆进行通讯。如果使用RS232通讯扩展板和通讯扩展模块可以与电脑进行RS232通讯。并且可以使用DB9插头座制...
plc连接电脑需要什么接口?
一、RS232接口:这是计算机通讯接口之一,通常RS-232接口以9个引脚(DB-9)或是25个引脚(DB-25)的型态出现,一般个人计算机上会有两组RS-232接口,分别称...
【台达plc和电脑通讯rs232线台达的4(RXD)5(TXD)8(GND)对应电...
[最佳回答]非常正确:RXD--为接收端;TXD--为发送端,通讯时一端发送数据,与之对接的另一端当然要为接收,同时通讯双方当然要共地!非常正确:RXD--为接收端;TXD--...
rs232串口线怎么连接PLC?
下面是具体的接线步骤:1.将RS232数据线中的TXD、RXD、GND等线缆连接到RS232转485转换器的相应接口上,一般来说TXD连接到RS485的A+端,RXD连接到RS485的B-端,.....
FX2N-232-BD能直接和PLC通讯吗?
三菱PLCFX2N-232-BD通讯模块接口是标准的DB9接线,与电脑COM1的通讯接口一样,针脚的功能定义也一样。连接线按照发送(TD)-接收(RD),接收(RD)-发送(T...三菱...