慧安-PLC4X学习
提出背景:为解决工业互联的IT系统与控制系统的通信问题
**提出原因:**业界的可编程逻辑控制器(PLC)大多采用大量不兼容的协议进行通信。这使得创建将这些系统与新世界(IT/互联网)集成的应用程序变得很困难。这,就是PLC4X项目的用武之地。
项目提出:
项目愿景:“我们的目标是创建一组库,允许统一访问任何类型的PLC”
总的来说,这个项目正在努力实现OPC-UA(大名鼎鼎的通用工控通信协议)试图解决的相同目标,但PLC4X试图通过走一条完全不同的路径来实现这一目标。
OPC-UA的痛点
使用OPC-UA时,每个设备都必须进行“改造”,工程师们通过修改程序让PLC们能够“说出”新协议(OPC-UA),并使用通用客户端与这些设备对话。整个改造无疑是复杂而艰巨的,并且由于存在风险,通常是客户难以接受的。
PLC4X的新方法
PLC4X项目致力于提供统一的API,这些API实现与大多数PLC通过其原生通信协议进行通信的驱动程序。这些驱动程序中的每一个都是根据规范或逆向工程协议实现的(合法的),以便完全获得Apache 2.0许可。
从我们的观点来看,PLC4X相对于OPC-UA的主要优点是:
无需修改现有硬件上的软件不增加硬件计算负担(在现有PLC上激活OPC-UA支持会大大增加PLC的负载)无需支付激活OPC-UA支持的许可证
PLC4X目前支持的原生通信协议:
图例
√ 实施并得到全面支持
? 仿真实现和支持
! 尚未实施
语言支持
PLC4X目前支持Java语言,并计划后期支持Scala和C++。
实现原理
OPM:PLC对象映射
对象PLC映射(OPM)受Java Persistence API(JPA)的启发。PLC4X项目的主要目标之一是使与PLC设备的通信变得容易,以便开发与PLC交互的应用程序。由于许多(甚至大多数)应用程序员都不是PLC通信和协议方面的专家,因此在没有太多领域知识的情况下,应尽可能轻松地与PLC进行交互。这正是多年前JPA初始化以允许通过简单地调用POJO(Plain old Java Object)上的方法来与数据库交互的原因。这正是OPM模块的用途,通过简单地与POJO交互来实现PLC通信。
以下简短代码片段显示了如何通过OPM从PLC中读取一个数值。
首先,实例化PlcEntityManager,然后为给定的PLC连接地址提取连接的实体。已连接意味着实体的所有方法调用都被交叉并由PLC调用替换。然后将这个值打印到控制台。
在第二个片段中,您可以看到Entity类的外观。@PlcField注释中给出了读取可变压力的地址。
MyEntity类的实现
总结
总体来说,PLC4X是一个新的工业互联网开源项目,在于解决工业控制设备与IT系统的协议通信问题。
这个项目最大的特点是:不是设计一种新的“通用协议”,而是引入一种适配器和编程模型。适配器解决协议互通问题,而编程模型这帮助程序员更方便的开发业务应用。另外值得一提的是,在解决通信协议开发方面,这个项目是符合Apache 2.0协议的。
当然,作为一个新兴的Apache孵化项目(目前的版本是0.3.0),PLC4X目前还不够成熟:一方面支持的PLC通信协议种类还不够丰富、测试也不够完毕;另一方面,功能总体还比较单薄、文档也比较简陋。
Apache-Plc4x-OPC UA-Tcp学习记录
opcua:tcp://127.0.0.1:4840,表示采用OPC UA协议,通过Tcp通道连接127.0.0.1地址的4840端口来发送和接收指令。
Code: 表示协议编码,对应opcua:tcp://127.0.0.1:4840中的opcua;
Name: 表示协议的名称标记,记录协议的名称;
Default Transport: 表示协议的默认通道为Tcp;
Supported Operations: 表示协议支持的操作。read:设备是否支持读取数据功能;write:是否支持写入数据功能;
这四项信息在源码中的OpcuaDriver类中配置,可以根据需求重写。
Discover:
控制OPC UA服务器发现端点的功能,每台服务器将通过“<地址>/发现”端点传播该功能。这里最常见的问题是大多数服务器没有正确配置,传播了错误的外部IP或URL地址。如果是这种情况,可以通过将其配置为false值来禁用发现。
The OPC UA drivers uses the connection string
opcua:{transport}
慧安-PLC4X学习相关推荐
- 慧安-PLC4X支持的协议
点击跳转PLC4X的官网 目录 AB-ETH ADS/AMS BACnet/IP CANopen DeltaV DF1 EtherNet/IP Firmata KNXnet/IP Modbus (TC ...
- CSDN签约慧安金科,共建全方位智能风控体系
近日,中国最大的IT社区和开发技术服务平台CSDN与慧安金科签约,全面达成战略合作.慧安金科针对CSDN平台的场景为其量身打造了一套企业级智能风控决策引擎,保障该平台的安全.平稳运营,实现用户服务升级 ...
- 慧安股份加入飞桨技术伙伴计划,共同打造智慧物联网产品和行业应用解决方案...
近日,慧之安信息技术股份有限公司正式加入飞桨技术伙伴计划,双方将共同努力在AIOT基础技术及生态建设做出贡献,致力于智慧能源.智慧园区.智慧工地.智慧城市等领域,共同打造智慧物联网应用产品和整体解决方 ...
- 【金猿技术展】慧安金科反洗钱可疑案宗识别技术——自动全方位提取洗钱行为关联信号...
慧安金科技术 该技术由慧安金科申报并参与"数据猿年度金猿策划活动--2020大数据产业创新技术突破榜榜单及奖项"评选. 大数据产业创新服务媒体 --聚焦数据 · 改变商业 慧安金科 ...
- 五个课时,百余智慧安防AI应用作品落地!AidLux实战训练营圆满收官
随着视觉检测.智能家居.自动驾驶等智能应用的面世,更多的人认识到,人工智能(AI)将推动不同领域的产业走向"智慧化". 如今,越来越多渴望掌握新技能的学习者选择了人工智能.为了进一 ...
- java入门 慕路径,Java入门基础知识总结学习教程大全【必看经典】
类型的表达式,是循环条件,表达式3是党执行了一遍循环之后,修改控制循环的变量值. ??? for语句的执行过程是这样的:首先计算表达式1,完成必要的初始化工作:然后判断表达式2的值,如果表达式的值为t ...
- Java EE学习心得
–Java EE学习心得 1. 称为编程专家的秘诀是: 思考-----编程--------思考------编程--.. 编程不能一步到位,不能一上来就编,必须先思考如何写,怎样写?然后再编程 ...
- FastAI 2019课程学习笔记 lesson 2:自行获取数据并创建分类器
文章目录 数据获取 google_images_download 的安装和使用 挂载google 个人硬盘到Google colab中 删除不能打开文件 创建ImageDataBunch 训练模型 解 ...
- FastAI 课程学习笔记 lesson 1:宠物图片分类
文章目录 代码解析 神奇的"%" 导入fastAI 库 下载解压数据集 untar_data 获取帮助文档 help() ? ?? doc 设置路径 get_image_files ...
最新文章
- 利用java虚拟机的工具jmap分析java内存情况
- CSDN蒋涛提出技术社区三倍速定律,称下一个20年全球开发者数量将过亿
- 关于小程序云开发的一些经典问题处理
- rdcl 报表设置不分页
- 安全行业中的event与incident区别
- 让自己的user能够看到S4 product master这个tile
- java web 润乾报表教程_润乾报表开发 基础教程.ppt
- 关于sql语句between and的边界问题
- IRQL(转载 自 windows内核情景分析)
- python循环语句输出_python循环语句
- 蚂蚁课堂二期视频(每特学院二期)
- win7修改ftp服务器密码,win7ftp服务器设置用户名密码设置
- 略晓网:经验真的能换钱
- php guzzle 上传文件,Guzzle 使用文档
- TCP连接三次握手协议,释放连接四次挥手,以及使用 awl伪造mac地址进行多线程syn洪泛攻击。...
- 这些操作技巧能够让你的公众号迅速增粉
- yxc_第一章 基础算法(一)
- strtok函数用法
- 氧饱夹语音芯片,内置功放直推喇叭输出,低成本语音IC,WTN6系列
- 〖全域运营实战白宝书 - 运营角色认知篇⑦〗- 运营人的能力模型