拓冰建站拓冰建站
首页 / 资讯中心 / 正文

用Python或C#快速编写一个与PLC通信的简易监控界面

在使用PLC上位机软件开发工具包进行图形用户界面的搭建时, 首要的任务就是要挑选一个合适的图形界面库。关于开发这类用于监控和控制硬件的操作界面, 行业内存在多种技术手段与方法论可供参考与实践, 这些步骤或者环节涵盖了: 决定使用诸如PyQt5之类的第三方组件库来实现界面绘制以及交互逻辑绑定深入理解并熟练运用基于事件触发机制的编程思维模式在UI设计层面追求直观性与易用性标准的统一最后完成与底层物理设备之间的数据读写指令的精准传输。从实际应用案例来看, 选用PyQt5作为核心框架方案往往被视为一种相当普遍且极具潜力的路径, 其根本原因在于该库内部封装了大量种类繁杂的控件对象, 同时拥有非常完善的功能体系支撑, 使得开发者有机会组合并实现出那种结构层次分明且视觉表现出色的复杂操作面板系统。在一个项目中, 有人选用了西门子S7-1200 PLC, 因为不想购买屏幕, 所以就采用了这个方案。他的计划是通过使用西门子S7-1200具体为CPU 1212C型号, 来实现PLC与设备之间的数据监控工作。但是TIA V15.1里面的交互数据, 非专业人员很难一下子就看清楚。同时我们又不想专门去购买西门子的可编程屏幕, 所以打算采用snap7模块来实现上位机和PLC的通信。另外, 还将把运行监控的功能, 抽象到利用工具绘制的可视化GUI上边, 这样做的目的就是方便测试和维护人员进行操作。在工业场景之下, 采用C#来开发上位程序会更为合适一点, 主要原因就是SDK的支持量比较多, 建议大家去优先选用C#以及C这两门编程语言进行开发工作的处理, 原因是目前市面上几乎绝大多数类型的工业设备所提供的SDK对C#和C这两种语言的支持程度是最高的, 即便存在某些个别设备的SDK也对Java语言有所支持的情况, 那也仅仅只是占据了一小部分比例而已, 整体来说并不具备普遍性。在C#环境中去连接三菱PLC之前, 必须先安装好MX软件组件, 在此之后还可以去寻找相关的源代码。1、三菱MX软件的下载过程, 以及后续的安装工作测试环节。第二阶段是通讯功能的基本测试, 还有对数据进行实时监控的操作。首先打开专供PLC使用的监控程序界面, 此时能直接看到之前已经配置好的那些通讯参数信息, 同时也能随时对其重新进行调整设置。确认无误之后, 点击确定按钮, 接着在屏幕右侧位置就可以输入具体的地址数值了, 凭借这些地址就能实现对PLC内部数据的实时状态监视工作。这里需要特别说明几个关键操作点, 第一点是关于PLC的地址设定方法, 第二点是启动与停止监控的具体步骤, 第三点是如何快速更改当前的监控呈现方式, 通过这些途径进行数据观察。同时, 也可以根据自己在前面输入的地址, 自由地自定义需要重点关注的监控范围和内容。此外, 支持向PLC设备中写入新的数据信息, 还可以调整并设置设备的内部系统时间。这一过程允许采用单个位单独写入的方式来逐位修改内容, 也完全支持一次性将多位数据全部写入到目标位置。接下来还要讲一下很多初学者特别关心的一些源代码问题, 他们刚接触的时候就已经开始到处寻找相关的源码文件我也曾经经历过长久的查找过程才发现这件事并不简单, 令人感到相当气愤的是某些人明明手里掌握着现成的源码资源, 不但拒绝免费分享给别人使用, 反而还要收取虚拟货币作为下载报酬的行为实在不可取, 对此只想表达强烈不满的情绪态度而已。通常来说, 这类专业软件工具基本都会自带完整的源代码文件包存在, 根本不用担心没有获取渠道的问题所在之处, 经过不懈的努力搜索之下果然在某一个比较隐蔽的小角落里面成功发现了相关文件资料出现的可能性极大情况事实如此这般让人感叹万千感慨良多呀。先选中该程序, 接着右击并点击属性选项, 随后在属性面板里找到并选择打开文件位置这一项, 然后就会定位到程序所在的文件夹, 之后返回到上一级目录, 最后再进入那个特定的文件夹里面去, 这样一来也就终于找到了C#的源码, 这让人感到非常开心。当C#与进行相连的通信出现了断开的情况时, 可以尝试看看这个办法。如果你采用长连接的方式, 这里的长连接具体是指执行一次new操作来创建一个plc实例, 并且在该实例内部构建一个while循环结构, 那么你就必须在代码中加入try语句块, 用于判断通信状态, 一旦发现通信出现失败的情况, 就要让程序跳出当前的异常处理流程, 并重新建立与设备的连接。当然你也完全可以改换策略, 选择使用短连接, 也就是在每一个运行周期内都重新new出一个新的plc对象, 通过这种方式去避免出现因为连接意外断开而导致的系统无法自动重连的问题。为了测试这个效果, 我们不需要让你的程序长时间进行不停歇的运行, 只需要采取简单的动作, 比如把网线拔掉随后再插回来, 观察一下整个网络系统是否能够完成自动恢复的过程即可验证方案的可行性。你如果不愿意去编写代码, 也是可以利用那些零代码的工具来实现功能的。很多网友经常向我提问, 询问在开发上位机程序时, 究竟选择哪种编程语言才是更为合适的方案。例如C#或者C这些语言, 它们都是能够用来开发上位机的, 但是前提条件是你必须先把你所选定使用的语言里面所涉及的一些基础理论知识都学习到位之后, 再去动手进行实际的上位机开发工作。这样的过程势必会占用并消耗掉你一部分宝贵的时间资源。那么请问是否存在着一种能够让你迅速地、快速地开发出一个用于监控上位机的软件的解决方案呢关于这个疑问答案是肯定的存在这种办法的, 今天我特意来向大家推荐一款表现极为出色且非常好用的工具, 这款工具的主要特点就支持人们通过零代码的方式来完成上位机监控软件的开发与制作任务。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门