码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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

    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
  • 相关阅读:
    vue3 vite4 安装eslint进行初始化时报错
    电力系统数字化升级改造之配电室无人值守
    【初阶数据结构】1.算法复杂度
    使用GithubAction自动构建部署项目
    Master JavaScript Coding
    影刀自动化采集底层逻辑
    Pytest接口自动化测试实战演练
    正则表达式
    【Try Hack Me】Buffer Overflow-2
    沉睡者IT - 说几个2022年网络上比较好赚钱的创业项目
  • 原文地址:https://www.cnblogs.com/19373400weileng/p/22996816
  • 最新文章
  • Docker Swarm 线上环境 MariaDB XA 悬停事务故障排查
    Jev:当 AI 不再生成 Token,而是直接做决策
    服务器又卡了?一篇讲透 Linux 性能排查(基础四件套 + perf/strace/火焰图)
    HarmonyOS智慧多窗,让应用在任意窗口都“恰到好处”
    OctaFuse Gateway 2.11.0:流式请求优化、用户折扣策略与错误契约升级
    使用 DuckDB 分析 Parquet 文件
    一次游戏安全SO静态分析记录:腾讯ACE与FairGuard加固强度对比
    Agent 平台的两种哲学:从 WeKnora 和 Molio 聊起
    数据库主从复制扩展(一)
    如何快速上传10G文件
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号