剖析经典案例 串口通信实例 S7 西门子 PLC (剖析经典案例分析)

一、硬件连接

  1. 西门子S7-200 Port0通信口:3脚(RS485发送/接收+信号)、8脚(RS485发送/接收-信号)
  2. 三菱FX3U-485-BD端子:SDA和RDA短接(RS485发送/接收+信号)、SDB和RDB短接(RS485发送/接收-信号)
  3. 连接:西门子S7-200 Port0口3脚连接三菱FX3U-485-BD的SDA和RDA,西门子S7-200 Port0口8脚连接三菱FX3U-485-BD的SDB和RDB。

二、通信参数

  • 波特率:9600
  • 数据位:8
  • 奇偶校验:无
  • 停止位:1
  • 起始符:STX
  • 结束符:ETX

三、西门子S7-200发送通信程序


1. 通信初始化
COM0_PARA 9600,8,N,1,STX,ETX

2. 数字量输入处理
FOR i=0 TO 7
  IF I0.i THEN
    SEND_BUFF[i] = 49
  ELSE
    SEND_BUFF[i] =48
  ENDIF
NEXT

3. 初始化延时
T2 = 20

4. 定时发送
T2_INT = 1

5. 定时中断子程序
T2_INT_LOOP:
  IF T2 >= 500 THEN
    T2 = 0
    SEND_DATA SEND_BUFF
  ENDIF
RETURN

四、三菱FX3U接收通信程序


1. 通信初始化
RS232_PARA 9600,8,N,1,1,STX,ETX,8

2. RS指令
RS 11,0,SEND_BUFF
RS 12,0,RECV_BUFF

3. 接收完成处理
IF RS(12,1) > 0 THEN
  RECV_SIZE = RS(12,1)
  FOR i=0 TO RECV_SIZE - 1
    PRINT RECV_BUFF[i]
  NEXT
ENDIF

4. 将接收到的最终有效数据送入三菱FX3U的8路数字量输出Y0~Y7里
FOR i=0 TO 7
  IF RECV_BUFF[i] = 49 THEN
    Y0.i = 1
  ELSE
    Y0.i = 0
  ENDIF
NEXT

五、通信程序图片

点击下载通信程序图片

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论