![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IoT
文章平均质量分 65
PascalMing
IT老兵 Git Hub/gitee:PascalMing
展开
-
MQTTnet库的MQTT Client证书连接模式
在证书连接模式下,我们一般可以获取到的是ca.crt、client.crt和client.key,并不能直接得到pem和pfx文件,这时需要转换使用openssl来转换。MQTT为了加强安全性,是支持Tls的安全模式连接的。在安全连接模式下,默认的服务端口由1883变更为8883,且使用CA证书来保证通讯双方的安全性。在openssl的命令行下,执行两个转换语句,即可实现pem和pfx的转换。原创 2024-07-24 22:50:16 · 437 阅读 · 0 评论 -
Prosys OPC UA Simulation Server工程文件备份方法
打开Windows“资源管理器”,找到当前用户下的“.prosysopc”目录。我的windows当前用户是iot,对应的目录就是:C:\Users\Iot\.prosysopc,可以看到有一个prosys-opc-ua-simulation-server目录。用zip备份或直接复制即可备份。他的免费版本不提供工程文件的备份、导入导出功能,每次退出时保存。如果需要工程备份,可以找到他的工程文件目录,手工备份和还原,具体方法如下:、还原时,可以把备份的目录替换现有目录下的文件即可。原创 2024-05-14 21:10:27 · 477 阅读 · 0 评论 -
个人工控方面收藏网址记录(持续更新中)
1、OPC类2、PLC类3、Modbus主从站模拟器。原创 2024-05-12 22:57:45 · 246 阅读 · 0 评论 -
使用C#和NMODBUS快速搭建MODBUS从站模拟器
浮点、32位整数、字符串等都可以通过调整slave.DataStore.InputRegisters.WritePoints和slave.DataStore.HoldingRegisters.WritePoints所对应的数组来实现。Modbus通讯分为主站和从站,使用RS485通讯时同一个网络内只能有一个主站,多个从站。开发测试时有各种复杂的需求,现有的仪器仪表实物搭建费时费力,可以用C#使用NMODBUS组件快速编写自己的从站仿真器,从而实现各种复杂场景的模拟。原创 2024-05-05 17:11:38 · 1201 阅读 · 0 评论 -
基恩士 KV-8000 PLC通讯简单测试
基恩士 KV-8000 PLC支持多种通讯方式,包括:OPC UA、Modbus、上位链路命令等。其中OPC UA需要对服务器和全局变量进行设置,Modbus需要调用功能块。默认支持的是上位链路命令,实际是一条条以回车换行结束的ASCII命令串。原创 2024-02-04 23:32:56 · 3311 阅读 · 1 评论 -
C# OMRON PLC FINS TCP协议简单测试
FINS/UDP运用的是一种嵌套格式数据包,即Ethernet报头、IP报头、 UDP报头和FINS帧。一个UDP数据段(FINS 帧)超过1472字节将被分成若干个数据包来传送。分开的UDP数据将在UDP/IP协议层自动组合。通常不须要关注运用 层的数据分段,但是在一个多层 IP网络中1427字节的UDP包可能无法 发送。在这种系统中就须要运用 FINS/TCP方式。ICF为信息控制域,用于标明指令和响应;RSV为系统保留;GCT为网关允许数目;DNA为目的网络号;DA1为目的节点号;原创 2024-02-04 22:55:39 · 2111 阅读 · 0 评论 -
电表通讯协议DLT645-2007编程
电表有个电力行业推荐标准《DLT645-2007多功能电能表通信协议》,电表都支持,通过该协议读取数据,不同的电表不需要考虑编码格式、数据地址、高低位转换等复杂情况,统一采集。不方便的地方在于这个协议定义得有点小复杂,自己带有各种特殊性定义,编程时一堆的坑。不少电表可以同时支持DLT645-2007和MODBUS RTU协议,但MODBUS协议在不同的电表中,地址都是不同的,需要查阅手册才能搞定。DLT645不同的数据需要发送独立的请求,而Modbus数据地址连接的可以一次读取,各有所长和优势原创 2023-12-30 23:04:36 · 2174 阅读 · 0 评论 -
Nginx本地指定网络连接反向代理和netsh机器转发
主机使用两块独立的网卡连接到vlan01和vlan02两个子网,这两个子网均存在一个192.168.31.8的设备,在配置时需要为连接vlan01的网卡配置ip 192.168.31.100,连接vlan02的网卡配置ip 192.168.31.200,这两个IP不要和两个子网内的IP有重复。nginx是一款高性能的Web服务器、反向代理服务器以及电子邮件服务器,采用异步、事件驱动的架构,支持高并发、高吞吐量的请求处理。2. 节省硬件资源:占用内存少,CPU占用率低,可以在低配置的服务器上运行。原创 2023-05-07 00:03:49 · 1129 阅读 · 0 评论 -
Windows下使用Inpout库直接读写IO设备端口
Windows2000以后,随着系统安全性的提高和驱动机制的改变,设备的I/O操作需要ring0权限,在应用的ring3已经很难使用。早期有WinIo库流行过一段时间,最近有个特殊的需求要在Win7/Win2019/Win10下操作I/O,发现WinIo已经不好使,即使后面更新的WinIo3.0也有驱动签名的问题,不容易使用。后来网上找到了开源的Inpout库,有32位和64为版本,仅安装时需要管理员权限,使用时普通权限即可,非常方便。原创 2023-03-18 22:27:37 · 1451 阅读 · 0 评论 -
C#开发OPC DA客户端的服务器状态处理
C#开发OPC DA客户端,最简单的方法是使用OpcRcw.Comn.dll,OpcRcw.Da.dll封装的API进行。如何使用C#开发OPC DA Client程序,网上有很多例子,包括各大自动化厂商和OPC服务器厂商都带有相关的示例,本文仅仅讨论如何处理与OPC服务器的连接状态问题。原创 2023-03-16 23:53:41 · 1155 阅读 · 0 评论 -
C# 使用MQTTnet 4.1 Client通讯异常检测失效处理
C#下的MQTTnet client不能有效检测到网络的异常断开,使用PingAsync() 可以更安全的解决问题原创 2023-03-15 23:27:21 · 1449 阅读 · 0 评论 -
C# 使用NModbus 多Slave站编程方法
但NModbus4已经7年多没有更新,测试发现读取数据时,如果长度超出Modbus协议约束的长度,会导致异常造成服务退出,而且这个异常是应用层拦截和屏蔽不了。实际应用中,可以读完一个仪表的数据,然后分类(bool和其他,其他包括word、int、float等)写入,同类的一次更新完,使用也比较方便。实际应用中,常常有将各种RS232、RS485等设备联网,供远程服务器读取的需求,这是采用一台边缘的转换网关,连接多台设备,然后转换为Modbus是一个不错的方案。原创 2022-11-24 22:23:53 · 3826 阅读 · 0 评论 -
GE IFix OPC服务分析
GE iFix3.5/5.5组态软件,仅提供OPC DA服务,不支持OPC UA。本文对如何读取iFix的OPC数据项进行简单介绍。 iFix的OPC DA服务,在安装好之后枚举时可以看到3个,正确的ProgId是“Intellution.OPCiFIX.1”。 OPC接口支持情况如下:从图上可以看出,iFix OPC DA仅支持OPC2.0接口,不支持3.0接口。数据浏览方面,对数据按类型进行了分类,类型下面是具体的点(对象),每个点有几十个数据属性,表现在OPC接口中,就是一个有效点有几十个相关点原创 2022-10-26 23:22:47 · 1024 阅读 · 0 评论 -
艾默生Ovation DCS OPC服务分析
艾默生的OPC DA服务器,使用的ProdId为“Ovation.OPCDAServer.1”,GUID值是{A3ABA03B-6CF7-4b13-A264-FD5AA251CC76}。 OPC DA服务器版本方面,有支持OPC3.0的,也有支持OPC2.0的,影响的主要的OPC3.0支持直接读取变量值。 在OPC的浏览层次方面,采用节点、单元、站、变量、变量属性5层结果,第5层为变量的属性值,不同类型的属性值有所差别,几十到上百不等原创 2022-10-26 00:02:53 · 1702 阅读 · 0 评论 -
C# 使用NetStandard.Opc.Ua读写OPC UA数据
OPCFoundation.NetStandard.Opc.Ua是OPC基金会发布的开源OPC UA包,提供Client读写库方便读写OPC 服务器数据。使用时有几点需要注意。原创 2022-09-10 00:26:00 · 10325 阅读 · 3 评论 -
WindowsXP Sp3 OPC DA的DCOM配置
WindowsXP上配置DCOM,支持OPC DA的远程访问。支持WindowsXP和Windows10访问WindowsXP的OPC DA服务器。原创 2022-08-04 00:14:38 · 1521 阅读 · 0 评论 -
C# MQTTnet 3.1升级到MQTTnet 4.0 Client编程变化
MQTTnet的C#版的开源MQTT通讯库,支持MQTTServer和Client,并提供各种类型的连接方法Demo。MQTTnet库3.1升级到4.0,并不完全兼容,在连接方式构建、事件订阅等方面需要修改。原创 2022-07-17 18:52:15 · 8720 阅读 · 4 评论 -
C#使用NModbus4读写Modbus数据
这些数据怎么存放,高低位怎么对齐,就产生了所谓的ABCD、CDAB等转换,这个Master与Slave一致就可以。Int32等类型数据更新时,需要同时对多个存储地址进行更新,而master可能还在高速并发读数据,需要注意使用一个同步锁,避免数据更新一半就被读取,产生数据不一致问题。推进使用Unicode编码,首先是与OPC的默认字符串编码格式一致,其次的每个中英文都占用一个地址2个字节,方便计算长度。Modbus是一个免费的协议,协议设计简单,有很多成熟的库支持。在使用文件中,添加引用。......原创 2022-07-15 07:58:57 · 5460 阅读 · 0 评论 -
Python使用paho.mqtt.client与Mqtt服务器通信示例
MQTT(Message Queuing Telemetry Transport)是一种轻量级的即时通信协议。Paho 是Eclipse的开源 MQTT 客户端项目,提供多种语言的 MQTT 客户端实现,包括 C、C++、C#、Java、Python、JavaScript 等。在Python环境下,Paho MQTT Python客户端由paho-mqtt模块支撑。...原创 2022-06-25 22:11:45 · 5433 阅读 · 0 评论 -
设备联网数据上传协议设计
1、前言在设备联网建设中,一般通过边缘网关采集设备或SCADA系统数据,然后上传到服务端进行处理。数据如何上传是承上启下的重要一环。早期的数据传输,一般每个报文的长度有限,内容采用二进制编码。目前在工厂内部,IT条件都比较好,更多的是从通用性、易用性和可维护性等方面进行考虑。这时报文一般采用JSON格式,如何设计上传的JSON,本文给出笔者的个人建议。2、来自OPC软件的参考 工控行业有些大名鼎鼎的软件,如KepServer,支持非常多的设备通讯协议,它采用工程、通道、设备和数据...原创 2022-05-14 12:27:55 · 847 阅读 · 0 评论 -
TDengine不同数据模型下的存储对比验证
在制造业数字原生的OT数仓建设的补充章节,提到一个多值的模型,即把IoT数据归集为int,float,bool,string,由4个超级表分开存改为1个超级表统一存。在新版的TDengine下,数据字段允许NULL(较早的版本不支持),多几个空的值字段对存储影响可以忽略不计原创 2022-03-28 00:37:14 · 7342 阅读 · 0 评论 -
TDengine的tdengine-datasource数据显示不全问题
TDengine有 tdengine-datasource可以配合pull和grafana进行系统监控。在使用TDengine2.4以上版本时,数据显示不全,可以通过对脚本的修改来完善。原创 2022-03-10 20:54:13 · 1371 阅读 · 0 评论 -
涛思数据TDengine now插值问题记录
TDengine 缺省的时间戳是毫秒精度,但通过在 CREATE DATABASE 时传递的 PRECISION 参数就可以支持微秒和纳秒。(从 2.1.5.0 版本开始支持纳秒精度)。在使用过程中如果没有特殊要求一般采用默认值。TDengine内部函数 now 是客户端的当前时间,插入记录时,如果时间戳为 now,插入数据时使用提交这条记录的客户端的当前时间。在使用“插入多条记录”方式写入数据时,不能把第一列的时间戳取值都设为 NOW,否则会导致语句中的多条记录使用相同的时间戳,于是就可能出现相互覆盖原创 2022-03-05 22:36:58 · 1661 阅读 · 0 评论 -
TDengine Taos数据库同步服务
功能:实现Taos不同数据库之间数据复制,可以用于数据库迁移和备份,支持续传运行环境:JDK 1.8 启动方法:java -jar Pascal.TaosDbSync.V2-1.0.jar使用方法:1、在application.yml中配置正确的taos源数据库和目标数据库以及相关参数2、iot.servermode为false时采用进程模式,所有参数来自与.yml,执行完毕退出3、iot.servermode为true时,采用服务模式Web+RestAPI运原创 2021-06-02 19:11:14 · 1601 阅读 · 0 评论 -
设备联网工作建设方法和步骤
原计划在“制造业数字原生的OT数仓建设”一文完成后,把关于如何开展设备连接的工作快速整理出来,因为各种原因没有沉下心来准备和完成,这里仅把之前列的大纲补充说明,供参考。 设备联网工作人们经常谈到接口对接的复杂性、行业特性等,不同行业差别很大,虽然联网工作没有标准,但还是有套路,可以按一定的方法来推进,实现项目的可控交付。原创 2022-02-13 14:37:36 · 5259 阅读 · 0 评论 -
Wonderware Historian Servers 操作
工控软件Wonderware System Platform带有Historian实时归档数据库,采用SQL Server+本地文件形式管理和存储归档数据。数据的元数据(包括标签名、说明、采样频率等)存储在SQL Server的Runtime库中,归档的结果数据存储在本地。原创 2022-02-13 12:25:56 · 1740 阅读 · 0 评论 -
制造业数字原生的OT数仓建设
在制造企业数字化转型中,如何实现工厂设备数据的联网采集,如何实现OT/IT的融合,是近年来的热门话题。本人在智能制造IT领域工作多年,去年有机会在某家大型制造企业研究院从事IT/OT融合方面工作和进行OT落地建设,结合最近休息时间的思考,给出基于开源技术打造制造业数字原生的OT数仓建设参考思路。关键词:OT数仓 工业物联网 智能工厂 时序库 数据采集 数字化转型IT/OT融合原创 2021-09-24 17:32:21 · 4887 阅读 · 1 评论