自动化项目倍加福测距仪QSM WCS RS485 与西门子S7 200通信

1、程序流程图

2、WCS位置数据处理流程

第一步:设置S7-200的RS485的通讯波特率19.2kbps,通讯格式(8,1,E);

 第二步:PLC向WCS发送请求码:

          A0A1为0,表示读码器地址为0,请求码为#80(十六进制);

          A0A1为1,表示读码器地址为1,请求码为#81(十六进制);

   第三步:WCS接受到请求码后,会自动向PLC反馈5个byte的相应码:

  1. Byte1为读码器状态位: DB OUT Err 表示读码器工作是否正常.

      2)Byte2/Byte3/Byte4为位置数据信息

                位置数据 == (Byte2)X(#80)X(#80) + (Byte3)X(#80) + (Byte4)

                                                      X 为乘法, + 为加法, #80 为十六进制数

            通过如上计算公式,直接可以计算出位置数据(十六进制数)

       3)Byte5为Parity效验字节 可以通过奇偶效验WXOR_B指令,把Byte1/2/3/4作奇偶效验,得出效验值与Byte5进行对比,确认通讯是否正常.

3、通信程序编写方法

S7-200的端口处于自由端口模式,用户程序通过使用接收中断、发送中断、发送指令和接收指令来控制通讯口的操作.


3.1.	S7-200通信端口中断事件号

•	当S7-200的端口0发送完成后,产生事件号9;(端口1为事件号26)
•	当S7-200的端口0接收完成后,产生事件号23;(端口1为事件号24)

3.2.	编程步骤

3.2.1.	先将需发送的数据和上述各通信参数写入相应寄存器;
3.2.2.	用中断连接指令ATCH连接中断程序和中断事件;
3.2.3.	在发送完成(产生中断事件9)连接到中断程序INT_1,在中断程序INT_1中用通信接收指令RCV接收数据;
3.2.4.	在接收完成(产生中断事件23)连接的中断程序INT_0,在中断程序INT_0中用通信发送指令XMT再次发送消息(WCS请求指令);

3.3.	范例程序 (Siemens S7 200)
3.3.1.	主程序

范例程序运行条件:
	WCS的物理地址为0;
	VB1:发送数据字节存储寄存器;
	VB30:接收数据字节存储寄存器;

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

!chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值