当前位置:文档之家› S7200 SMART 自由口通信实例解读分析

S7200 SMART 自由口通信实例解读分析


S7200 Smart自由口通信:
1)自由口通讯硬件 西门子S7 -200 smart系列PLC的自由口是基于RS485的硬件, 采用正负两根信号线作为传输线路。两线间的电压差为 +2V~6V表示逻辑'1':两线间的电压差为-2V~-6V表示逻辑 '0'。 西门子串口的插头是九针标准插头,其中各个针脚的定义在 下表中得以体现,最重要的两根线是表中红线标出的3号脚 和8号脚,也就是通常说的'3正8负',其中3对应信号B,8对 应信号A,其它的引脚可以完成一些额外的功能,比如24V 直流电的供应,5V直流电的供应以及发送请求等。但是对于 最基本的串口通讯而言,3脚和8脚两根线就足够了,所以下 面将着重介绍这两根线的逻辑。
1.判断信息接收结束是否为字符间超 时结束(SM86.2 = 1),若是,则认 为接收成功,接收成功计算器 VB200 自加一; 2.消息接收成功时接收的信息拷贝到 VB300 为起始地址的存储区; 3.开始下一次 RCV 指令地执行
CPU 中断程序
S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与条码扫描枪通信
RCV 接收指令实例 例子 1 :S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与口,其与 S7-200 SMART CPU 集成的 RS485 端口连接时需要使用 RS232/485 转换设备或 RS-232/PPI 多主站电缆。 条码扫描枪接收到条码后会自动通过 RS232 端 口发送报文,S7-200 SMART CPU 需要调用 RCV 指令接收报文,并在接收完成中断中再次使 能 RCV 指令循环接收报文。
S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与条码扫描枪通信
注意:此处使用的 调用指令为SM0.1
图 3. 连接中断子程序 INT_0 到通信端口 0 接收完成事 件,并使能中断;使用 SM0.1 触发 RCV 指令地执行。
S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与条码扫描枪通信
2台S7-200 SMART CPU采用自由口通信方式实现相互通信。
两台PLC之间也可以使用自由口通信完成PLC之间的数据交换,我们以下面一个 例子说明两台PLC之间的自由口通信。 通信任务:CPU1 每秒触发一次 XMT 指令将 CPU 的实时时钟发送到 CPU2; CPU2 接收到 CPU1 发送的信息后立即将 CPU2 的实时时钟回复到 CPU1。
S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与条码扫描枪通信
1.设置 SMB30 = 2#00001001 (自由 口通信,波特率 9600,8 位数据位, 无校验); 2.设置 SMB87 = 2#10010100,使用 空闲线检测为信息接收的起始条件, 使用字符间定时器为信息接收的结束 条件 ;
S7200 Smart自由口通信:
自由口的指令一共有两条,一条是发送指令,一条是接收 指令。我们在谈及发送或接收的时候往往会对立地去看读 或写两个概念,但是读与写,发送与接收并不是相同的概 念,一般在谈及读或写的时候往往是基于一些相对高级的 通讯,比如主从之间的通讯,主站可以对从站进行读或写 的操作。相对于读和写的概念而言,发送和接收指令更为 基本 例如A和B两个通讯对象,A发送一个报文给B,这是一个发 送的过程,B接收到A发送给它的报文,这是接收的过程。 而对于读和写则复杂的多,例如A作为主站想要读取B的数 据内容,则需要A首先发一个读请求给B,B接收到了A发送 过来的读请求之后作出判断,从而将A想要的数据由B再发 送给A,由A接收到这个数据从而完成一次读的过程。所以 相对读和写,发送和接收的过程要基本的多,而自由口通 讯用到的指令就是发送和接收指令。
S7200 Smart自由口通信:
(2)自由口通讯 S7-200 smart CPU的通信口可以设置为自由口模 式。选择自由口模式后,用户程序就可以完全控制 通信端口的控制,通信协议也完全受用户程序控制。 所谓的自由口通讯,就是通讯协议是由用户自由定 义的。 对于S7-200 smart PLC而言,基于本体自带的485 端口的网络所应用的协议,除了PPI协议以外,其 他都是自由口协议。例如USS协议、Modbus协议 等等都是特定的自由口通讯协议。
S7-200 Smart ——自由口通信解读
S7200 Smart自由口通信:
S7-200 Smart串口通讯主要包括: 1)Modbus—PLC与支持Modbus RTU协议的 第三方设备通讯 •RTU Master-Protocol(RTU主站协议) •RTU Slave-Protocol(RTU从站协议) 2)USS—S7-200PLC与SIEMENS驱动设备的通讯 (如MM440等) 3)自由口通讯—S7-200PLC与自由协议的第三 方设备间的通讯
注意:此处使用的调用指令为SM0.1
S7-200 SMART CPU集成的RS485 端口(端口 0 )实现与条码扫描枪通信
注意:此处使用的 调用指令为SM0.1
图 2.设置空闲线定时器 SMW90 = 5 ms,字符 间定时器 SMW92 = 5 ms,允许最大接收字符 个数 SMB94 = 50;
S7200 Smart自由口通信:
SMB30 和 SMB130 分别组态通信 端口 0 和 1 以进行自由端口操作,并提供波 特率、奇偶校验和数据位数的选 择。右图显示了自由端口 控制字节。对于所有组态,都生 成一个停止位。
S7200 Smart自由口通信:
发送报文格式
接收报文格式
S7200 Smart自由口通信实例:
接收过程首先执行RCV指令,启动 接收,启动之后会进入一种接收等 待的状态,等待起始状态的满足, 当起始条件满足以后 SMB86/186=0,此时数据将按照 发送的顺序进入信息缓冲区,直到 结束条件的满足,结束条件满足以 后SMB86/186不再等于0,之后接 收过程结束并产生接收信息完成中 断。在整个过程中最为重要的就是 起始条件和结束条件,想要将自由 口通讯学好,这两个条件是必不可 少也是最为关键的部分。
相关主题