Linux c modbus 线程,Modbus TCP Slave Thread - 设置和获取寄存器值
根据这个howToModbusSlave我试图用选定值的寄存器构建我自己的modbus slave(后来我想用来自使用python / jython的受监视设备的数据填充这些值),并使用Predix(云平台)将它们发送出去。由于我是modbus新手,我仍然无法找到如何将我选择的值添加到我的注册持有人的方法。
以下是我用于在localhost上为Master提供数据的从属线程:502:
public class SimpleApp {
public static void main(String args[]) {
try {
//1. The important instances and variables
ModbusTCPListener listener = null;
SimpleProcessImage spi = null;
int port = 502;
//2. Prepare a process image
spi = new SimpleProcessImage();
//I dont understand this part, why do i need it?
spi.addDigitalOut(new SimpleDigitalOut(true));
spi.addDigitalOut(new SimpleDigitalOut(false));
spi.addDigitalIn(new SimpleDigitalIn(false));
spi.addDigitalIn(new SimpleDigitalIn(true));
spi.addDigitalIn(new SimpleDigitalIn(false));
spi.addDigitalIn(new SimpleDigitalIn(true));
//setting up register holders, gonna ask no 10,11,20 and 21 as set in the data node config
for (int i = 0; i < 25; i++) {
int value = 15;
SimpleInputRegister sr = new SimpleInputRegister(value);
spi.addRegister(sr);
}
//3. Set the image on the coupler
ModbusCoupler.getReference().setProcessImage(spi);
ModbusCoupler.getReference().setMaster(false);
ModbusCoupler.getReference().setUnitID(15); //15
//4. Create a listener with 3 threads in pool
listener = new ModbusTCPListener(1); //no of threads
listener.setPort(port);
listener.start();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}数据节点配置:
我得到这些传输(“输出”):
[{"address":"com.ge.dspmicro.machineadapter.modbus://127.0.0.1:502/2/20","datatype":"INTEGER","name":"Node-2-1","category":"REAL","value":655370,"timestamp":1464006550991,"quality":"NOT_SUPPORTED (20000000) "},
{"address":"com.ge.dspmicro.machineadapter.modbus://127.0.0.1:502/1/10","datatype":"INTEGER","name":"Node-1-1","category":"REAL","value":655370,"timestamp":1464006550992,"quality":"NOT_SUPPORTED (20000000) "}]主要问题:
1)来自节点1-2和2-2的数据在哪里(输出中缺少)?
2)如何编辑从寄存器发送的值? (为什么我得到“价值”:655370?)
可选的Qustions :(我在documentation中不理解的东西)
3)simpleDigitalOut / In代表什么类?
4)ModbusCoupler.getReference()。setUnitID(value)代表什么? (它显然不需要做与数据节点的unitID相同的任何事情
5)SimpleInputRegister和SimpleRegister类有什么区别?
Linux c modbus 线程,Modbus TCP Slave Thread - 设置和获取寄存器值相关推荐
- 集合到文件 文件到集合 点名器 集合到文件数据排序版 标准输入流 打印流 对象序列化流 对象返序列化流 Properties 游戏次数 进程和线程 线程 多线程的实现方式 设置和获取线程名称
文章目录 集合到文件 文件到集合 点名器 集合到文件数据排序版 标准输入流 打印流 对象序列化流 对象返序列化流 Properties 游戏次数 进程和线程 线程 多线程的实现方式 设置和获取线程名称 ...
- Linux c modbus 线程,Modbus读写模拟量寄存器详解
读可读写模拟量寄存器: 发送命令(主机向从机)格式: [设备地址] [命令号03] [起始寄存器地址高8位] [低8位] [读取的寄存器数高8位] [低8位] [CRC校验的低8位] [CRC校验的高 ...
- linux 子程序返回错误代码,execvp:在程序中调子程序并获取返回值
在linux中我们可以很方便的使用system启动子程序,但是system有个不足就是它对子程序的掌控很弱,连返回数值都很难获取. 下面是一段使用execvp来调用子程序的示例代码,关于下面的代码有几 ...
- 一文搞定Linux环境下线程编程,这些东西老师也不会教你。(史上最详细的线程攻略)
一.线程的概念 1.1 什么是线程 线程是一个实体,是CPU调度和分派的基本单元,有时我们也可以称它为轻量级的进程.每个线程都包含有表示执行环境所必须的信息,其中包括标识线程 的线程ID.一组寄存器值 ...
- 多线程(一)线程与进程、Thread
文章目录 前言 一.初识多线程 1.1 并行.并发.串行 1.2 并发编程的优缺点 1.2.1 并发编程的优点 1.2.2 并发编程的缺点 1.3 上下文切换 1.3.1 上下分切换的分类 1.3.2 ...
- 【Linux 内核】进程优先级与调度策略 ③ ( 设置、获取线程优先级的核心函数 | 修改线程调度策略函数 )
文章目录 一.设置.获取线程优先级的核心函数 二.修改线程调度策略函数 一.设置.获取线程优先级的核心函数 设置.获取 线程 优先级的 核心 函数 : ① 设置 " 创建线程 " ...
- python获取返回值_【Python】python获取线程的返回值
threading模块默认没有获取线程返回值的方法. 下面通过重写threading.Tread类来实现:from threading import Thread import random impo ...
- Modbus在Android上的应用之Modbus TCP Slave
Modbus TCP Slave 这篇文章是接着我上一篇文章的.Modbus在Android上的应用之Modbus TCP Master 之前做了很多项目都是在用Master,Android端做主站, ...
- ModBus(RTU TCP UDP通信)及利用socket通信(DTU)实现Modbus-RTU通信协议
目录 MODBUS-RTU 1.Modbus Slave连接串口 2.MODBUS-RTU配置环境 3.ModBus-RTU的通信代码 4.ModBus-RTU执行的方法细节,简说 MODBUS-TC ...
最新文章
- vs如何将工程配置,保存到属性表
- js获取本月第几周和本年第几周
- 聊一下我们团队的理念
- Java GUI编程:swing创建窗体代码详解
- ssm 异常捕获 统一处理_统一异常处理介绍及实战,看这篇就对了
- [多图]Google Chrome漫画书中文版
- 镜像体积减小_docker镜像从1.16G优化到22M
- 分享前几年的外包经历,给正在犹豫要不要去外包的学弟学妹做参考.
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - ActiveXForm在线体验安全设置...
- Linux通过源码编译安装程序;yum和源码安转软件包的区别
- 静态对象和非静态对象的区别
- 安利 19 个程序员可以接私活的平台,你有技术就有钱
- 《iVX 高仿美团APP制作移动端完整项目》07 会员页制作
- 基于python的词频分析
- python使用 photoshop-python-api 调用ps处理批量动作操作
- C# .net+DevExpress自定义控件(UserControl)之分页控件
- Linux下的man指令
- 基于MATLAB的R方计算
- IE浏览器input元素text-overflow: ellipsis
- 结合若依框架实现微信小程序授权登录