串口通信实例023 serial example a communication 023 serial communication delta and a href=https www.example.com 松下FPX和台达SA2串口通信 fpx sa2 panasonic (串口通信例子)

松下FPX的8路数字量输入X0~X7控制松下FPX的8路数字量输出Y0~Y7。

1、松下FPX-COM3通信插件端子含义

  • 拨码开关1、2、3打到ON位置、4打到OFF位置
  • S+:即为RS485发送\接收+信号
  • S-:即为RS485发送\接收-信号

2、台达SA2之COM2通信口端子含义

  • A:即为RS485发送\接收+信号
  • B:即为RS485发送\接收-信号

3、通信连接

松下COM3通信插件S+接台达SA2之COM2的A;松下COM3通信插件S-接台达SA2之COM2的B。

4、通信过程

1、通信初始化

9600,8,N,1,起始符为STX、结束符为ETX,通信模式为通用通信,接收缓冲区首地址为DT10、接收字节计数为2:
COMCON.Baud = 9600 //波特率 COMCON.Data = 8 //数据位 COMCON.Parity = 0 //校验位 COMCON.Stop = 1 //停止位 COMCON.Comma = 0 //通信模式 COMCON.Stx = "STX" //起始符 COMCON.Et = "ETX" //结束符 COMCON.Buf = DT10 //接收缓冲区首地址 COMCON.Len = 2 //接收字节计数

2、输入处理程序

将松下8路输入转换为2个ASCII码保持至DT1里:

Input: STX X0 X1 X2 X3 X4 X5 X6 X7 ETX

3、定时发送

定时发送数据到SA2。

1、通信参数设置程序段:

波特率9600bps、8位数据位、无校验位、1位停止位、报头为STX、报尾为ETX、8位数据模式

COM2CON.Baud = 9600 //波特率 COM2CON.Data = 8 //数据位 COM2CON.Parity = 0 //校验位 COM2CON.Stop = 1 //停止位 COM2CON.Comma = 0 //通信模式 COM2CON.Stx = "STX" //起始符 COM2CON.Et = "ETX" //结束符 COM2CON.Buf = D1 //发送缓冲区首地址 COM2CON.Len = 0 //发送字节计数 COM2CON.Rbf = D11 //接收缓冲区首地址 COM2CON.Rlen = 2 //接收字节计数

2、RS指令程序段:

发送缓冲区首地址为D1、发送字节计数为0、接收缓冲区首地址为D11、接收字节计数为2

COM2.Snd = D1 COM2.Len = 0 COM2.Rbf = D11 COM2.Rlen = 2 COM2.Rdy = 1

3、接收完成理程序段:

接收完成后将接收到的2个字节数据转存至D41、D42

Receive: COM2.Data D41 = COM2.Data COM2.Data D42 = COM2.Data

4、接收数据出来程序段:

将保持在D41、D42低8位的两个ASCII码转换为16进制数据保持至D51,而后再送如到Y0~Y7里

D51 = LoToByte(D41) Y0~Y7 = D51 D51 = HiToByte(D41) Y0~Y7 = D51 D51 = LoToByte(D42) Y0~Y7 = D51 D51 = HiToByte(D42) Y0~Y7 = D51

五、通信程序图片提供下载

正在下载,请等待……

下载附件需0积分!

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

相关阅读

添加新评论