返回主站|会员中心|保存桌面

伟肯变频器中国区域服务商    

伟肯变频器

联系方式
  • 联系人:吴经理
  • 电话:18576370666
  • 邮件:18576370666@163.com
新闻分类
  • 暂无分类
站内搜索
 
首页 > 新闻中心 > 上位机向FX3UD0写数值,用FX3U-232ADP-MB!
新闻中心
上位机向FX3UD0写数值,用FX3U-232ADP-MB!
发布时间:2025-08-12        浏览次数:2        返回列表

要通过上位机(如PC)向三菱FX3U PLC的FX3U-232ADP-MB模块(RS-232通信模块)写入数值,需结合PLC的串行通信协议和特殊缓存区(BFM)配置。以下是详细步骤和示例:


一、硬件与通信配置

  1. 硬件连接

    • 将FX3U-232ADP-MB模块安装到FX3U PLC的扩展接口上。

    • 使用RS-232电缆连接上位机(PC)的串口(或USB转RS-232适配器)与模块的RS-232端口(注意交叉接线:TXD↔RXD,RTS↔CTS等)。

  2. 模块参数设置
    通过BFM配置通信参数(波特率、数据位、停止位等)。FX3U-232ADP-MB的BFM定义如下(参考手册):示例配置(9600bps, 8N1, 无流控)

    ladderTO K1 K0 K0 K6      // 模块地址K1,从BFM#0开始写入6个字D0: 0              // BFM#0=0(无协议)D1: 0              // BFM#1=0(9600bps)D2: 8              // BFM#2=8(数据位)D3: 1              // BFM#3=1(1停止位)D4: 0              // BFM#4=0(无校验)D5: 0              // BFM#5=0(无流控)
    • BFM#0:通信协议(0=无协议,1=FX系列,2=自定义)。

    • BFM#1:波特率(0=9600, 1=19200, 2=38400等)。

    • BFM#2:数据位(7/8位)。

    • BFM#3:停止位(1/2位)。

    • BFM#4:奇偶校验(0=无,1=奇,2=偶)。

    • BFM#5:控制线(如RTS/CTS使能)。


二、上位机通信协议

FX3U-232ADP-MB支持两种模式:

  1. 无协议模式(BFM#0=0)

    • 上位机直接发送原始数据(如MODBUS RTU或自定义协议)。

    • PLC需通过RS指令或中断程序接收数据。

  2. FX协议模式(BFM#0=1)

    • 使用三菱专用协议(如FX Serial Communication),需配置站号(BFM#6)。

    • 适合与三菱编程软件(如GX Works2)通信。

推荐无协议模式,灵活性更高。以下为无协议模式示例:


三、PLC程序配置

1. 接收上位机数据

使用RS指令或RS2指令(高速处理)接收数据到PLC的D寄存器。

ladderRS D100 K8           // 接收数据到D100开始的8个寄存器
  • D100:接收缓冲区起始地址。

  • K8:接收字节数(16位×8=128位)。

2. 向上位机发送数据

使用DS指令发送PLC数据到上位机。

ladderDS D200 K4           // 发送D200开始的4个寄存器(8字节)

3. 中断触发(可选)

配置通信完成中断(如M8161)以实时处理接收数据。

ladderLD M8161             // 接收完成标志MOV D100 D0          // 将接收数据复制到D0

四、上位机程序示例(Python)

使用Python的pyserial库发送数据到PLC:

python

import serial

# 配置串口
ser = serial.Serial('COM3', 9600, timeout=1)

# 发送数据(示例:写入数值1234到PLC的D10)
data = [0x01, 0x02, 0x0D, 0x0A]  # 自定义协议头+数据+结束符
ser.write(bytes(data))

# 接收PLC响应
response = ser.read(10)
print("Received:", response)

ser.close()

五、关键注意事项

  1. BFM配置顺序
    必须在通信前通过TO指令完成BFM参数写入,否则通信可能失败。

  2. 数据格式匹配

    • 上位机发送的数据格式(如ASCII/HEX)需与PLC程序一致。

    • 例如:发送0x000A(16位)到PLC的D寄存器,需确保字节序正确。

  3. 错误处理

    • 检查BFM#30(模块错误代码)和M8063(通信错误标志)。

    • 若通信超时,需重新初始化模块(通过TO指令重置BFM)。

  4. 调试工具

    • 使用串口调试助手(如Tera Term)验证物理连接。

    • 在PLC中监控D100等接收缓冲区确认数据是否正确到达。


六、完整流程示例

  1. PLC初始化

    ladder

    // 配置FX3U-232ADP-MB(模块地址K1)
    TO K1 K0 K0 K6
    D0:0, D1:0, D2:8, D3:1, D4:0, D5:0

    // 启用接收
    RS D100 K8
  2. 上位机发送数据

    • 发送0x0001 0x0002(2个16位数据)到PLC。

  3. PLC处理数据

    ladderLD M8161             // 接收完成MOV D100 D0          // 数据1→D0MOV D101 D1          // 数据2→D1
  4. PLC反馈

    ladderDS D200 K2           // 发送D200-D201的内容

通过以上步骤,上位机可成功向FX3U PLC写入数据。实际应用中需根据具体协议(如MODBUS)调整数据格式和PLC程序逻辑。

收缩
  • QQ咨询

  • 电话咨询

  • 18576370666
  • 添加微信客服