Openplc与Fractory IO联合仿真

Openplc与Fractory IO联合仿真

概述

1789525940044

openplc程序编写

  • 创建一个openplc梯形图项目

  • 全局变量定义,Location地址可询问AI,确保点击打开Debug(亮蓝色)

    • start:传送带启动按钮
    • stop:传送带停止按钮
    • sensor:光传感器信号
    • engine:传输带运行状态

1789527055894

  • 主程序变量
    • 使用External引入同名全局变量,确保同名
    • 由于Fractory中,停止按钮与传感器按钮默认为True,需创建两个局部变量
      • stop_emit:表示停止按钮处于按下状态
      • sensor_block:表示光线被遮挡

1789527322162

  • 程序编写,功能如下
    • 自锁的传送带,按一次开始按钮后持续运行(红色部分)
    • 两种停止方式:按下停止按钮或者货物挡住光线(蓝色部分)

1789527531321

openplc editor与Fractory地址映射

  • 在openplc editor中创建与配置remote device,IP设置为本机网卡IP

1789528432024

  • 在Fractory IO中File-Drivers中配置按钮,后续仿真连接成功时会显示绿勾,在CONFIGRATION中设置相同IP与相同端口502。

1789528580109

联合仿真

  • 在openplc runtime的安装目录下运行StartOpenPLC.bat或使用桌面快捷方式,会弹出命令行窗口如下图所示,打码的IP即为本机IP。

1789527781744

  • 确保Fractory IO配置完毕并启动,在openplc editor中,IP设置为本机网卡IP(与remote device相同),配置device后点击Connect,首次连接会让你设置用户名与密码,请妥善保存。

1789529061372

1789528028429

  • 随后即可编译与上传PLC程序

1789528212803

  • 点击左侧debug按钮,初始状态应当如下,如不同请重新启动所有软件并再次尝试。成功后,点击Fractory IO中的启动按钮,下方变量的值会同步更新;若正常工作,货物会被传送带运送到另一端,触碰到传感器光线后停止。

1789528860311

  • 下图展现了按下按钮后传输带的运行场景,由于梯形图程序显示存在bug导致与实际不一致,可以忽略;重点关注下方变量值变化。

1789529438627

  • 如用wireshark抓取数据包,选择回环网卡Adapter for loopback traffic capture,过滤条件为tcp.port = 502
posted @ 2026-09-16 14:24  weileng  阅读(33)  评论(0)    收藏  举报