Openplc与Fractory IO联合仿真
Openplc与Fractory IO联合仿真
概述
- 环境:Windows10,实现传送带自动停止
- openplc:autonomylogic.com
- openplc runtime(记住安装目录):gh-proxy.org/https://github.com/Autonomy-Logic/openplc-runtime/releases/download/v4.2.2/OpenPLC_Runtime_4.2.2_Setup.exe
- openplc editor:release-assets.githubusercontent.com/github-production-release-asset/724734036/ab8a70b9-c911-46d0-9011-6c9e8c4490ec?sp=r&sv=2018-11-09&sr=b&spr=https&se=2026-09-11T02%3A53%3A11Z&rscd=attachment%3B+filename%3DOpenPLC.Editor_4.2.11.exe&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2026-09-11T01%3A52%3A54Z&ske=2026-09-11T02%3A53%3A11Z&sks=b&skv=2018-11-09&sig=j5ahUAl7hIB%2BXMtwr%2FsYc44apKYf%2F6iQzmTLc4DqAUU%3D&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc4OTA5NjQ5MywibmJmIjoxNzg5MDkyODkzLCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.hJVGnAVHADYJQ7FbNFxvSBkScmfoPxJZtV1Ojqq5vZk&response-content-disposition=attachment%3B%20filename%3DOpenPLC.Editor_4.2.11.exe&response-content-type=application%2Foctet-stream
- Fractory IO:通过网盘分享的文件:Factory IO v2.5.0 链接: https://pan.baidu.com/s/1_ERhrteaxonaf1Qj6qECeQ 提取码: dt9z
- 参考教程(博图+fractory):www.bilibili.com/video/BV1uuiEBdEgy

openplc程序编写
-
创建一个openplc梯形图项目
-
全局变量定义,Location地址可询问AI,确保点击打开Debug(亮蓝色)
- start:传送带启动按钮
- stop:传送带停止按钮
- sensor:光传感器信号
- engine:传输带运行状态

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

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

openplc editor与Fractory地址映射
- 在openplc editor中创建与配置remote device,IP设置为本机网卡IP

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

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

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


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

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

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

- 如用wireshark抓取数据包,选择回环网卡Adapter for loopback traffic capture,过滤条件为tcp.port = 502
浙公网安备 33010602011771号