西门子200PLC做自由口通讯,向串口1发送数据
一、PLC自由口协议初始化。
根据智能设备通信时使用的波特率、校验方式、起始位等参数,配置PLC自由口,即将上述参数用MOVB指令写入SMB30(PORT 0)或者SM130(PORT 1)。格式如下
我选的参数是偶校验、8个数据位、波特率115200 bps、自由口协议,而且我用的是Port 1口,所以我的参数设定是2#01011001,所以初始化程序如下
二、声明中断
发送数据和接收完数据都能链接到中断程序,发送完中断与接收完中断的中断号分别为9和23,中断可在初始化子程序中声明。其实接收的中断我用过,是为了接收完一个数据包之后,等待下一次接收,但是发送我不知道有什么用。
三、编写要发送的自由口协议报文
四、用XMT指令发送报文
其中定时器T37是用来定时发送数据的,下面的例子中,1秒钟发送一次。
下载后运行,用USB转485的数据线接上位机调试软件,可以收到PLC发送的w9876543g这些字符的ASCII码。