S7-200系列PLC自由口通信知识分享(2)

在上一篇文章中,我们提到了有关于自由口通信的一些基础知识,给大家解释了什么叫通信协议,什么叫信息帧或消息报文,起始符/结束符与起始位/停止位之间的关系。那么今天就跟大家聊聊西门子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处于传送状态。

(0)

相关推荐

  • 西门子S7-200 Smart实现自由口通信主站视频教程

    西门子S7-200 Smart系列PLC做自由口通信主站.串口调试助手做从站,视频详细讲解了ATCH.DTCH.XMT.RCV等指令.通信实现PLC先发送串口调试助手8个字节数据,而后串口调试助手返回 ...

  • 西门子S7-200 Smart实现自由口通信从站视频教程

    西门子S7-200 Smart系列PLC做自由口通信从站.串口调试助手做主站,视频详细讲解了ATCH.DTCH.XMT.RCV等指令.通信实现串口调试助手先发送PLC共计8个字节数据,而后PLC返回串 ...

  • S7-200系列PLC自由口通信知识分享(3)

    在前面的文章中与大家分享了自由口通信中的发送功能,那么进行就跟大家聊聊自由口通信中的接收功能,自由口通信中的难点就是在于接收功能的使用,当PLC通过通信端口把数据发送给下位设备后,下位设备会根据PLC ...

  • 西门子S7-200系列PLC自由口通信程序设计之数据的发送

    在设计自由口通信程序时,自由口通信程序设计的核心就是使用发送指令XMT和接收指令RCV对数据进行发送和接收.接收指令RCV应用的难点,在于如何设置"判断接收消息的起始条件和结束条件" ...

  • S7-200系列PLC自由口通信分享(4)

    在上一篇文章中,与大家分享了S7-200系列PLC中自由口通信中的接收指令.消息接收时用于判断消息的起始和结束的几种方式,也给大家分享了下使用起始符和结束符作为消息的起始和结束的判断,那今天给大家分享 ...

  • S7-200自由口通信知识分享(6)

    在上一篇的文章中,跟大家分享了自由口通信中,用消息定时器作为信息接收的结束条件的判断过程, 那么今天继续跟大家分享另外一个用于消息的接收过程中判断消息的结束条件 -- 字符定时器方式作为消息的结束条件 ...

  • S7-200自由口通信知识分享(5)

    在前面主要跟大家分享了下自由口通信中的一些基本概念,使用的指令及自由口通信的接收功能中如何进行消息起始的判断,那么今天跟大家分享下自由口通信中使用接收功能接收信息时,如果进行消息结束条件的判断.因为只 ...

  • 一起学习:西门子200 PLC自由口通讯

    编程自由口通讯的基本步骤 1 设置通讯参数:如果是集成在本机上基于RS485口,在SMB30中设置(prot0口);如果是采用通讯信号板,则在SMB130中设置(prot1口),这2个地址的设置,仅仅 ...

  • 西门子S7-200 SMART自由口通信参数如何设置?如何编写发送程序和接收程序?如何测试?

    西门子S7-200 SMART除了支持以太网通信,还可以通过CPU上或信号板上的RS485接口实现串口通信.支持的串口协议,包括自由口协议.USS协议.MODBUS协议和PPI协议.STEP7 Mic ...

  • 西门子PLC自由口通讯 中断,有多少人用过?

    在一些特定场合,比如说与松下系列伺服驱动器的控制时,为了保证数据的安全,我们需要进行多次往返的数据交换,这就需要严格控制通讯的时间.那么这个时候对于PLC来说通讯就是最重要的,所以我们需要打断PLC的 ...

  • 【案例】S7-200SMART与扫描枪自由口通信应用

    ↖戳上方  蓝字  " PLC发烧友 "   关注我们哦! 本案例主要让读者掌握练习S7-200SMART串口通信的接线,协议的分析,熟悉使用自由口通信的发送指令和接收指令,自由口 ...