
正文
java报警器定位代码,java报警器定位代码是多少
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何通过java程序通过DTU发送485命令
串口是数据透传接口,一般使用串口调试软件的默认 8n11模式就可以,高能的来了:第一点:modbus就是一次用串口连续发多个字节!!!!!就这么简单!!!!
如果想在深入一些,那我再告诉你,第二点:连续发出的多个字节是按顺序排好的就可以了
如果想要完成一个双向通信,那你还要再了解一点就是第三点:发多少个字节?字节顺序如何排列?
本篇只讲主站读,子站发,看明白之后,再点击我的用户名,查看主站写,子站接的经验
先说一下DTU RTU区别:modbus dtu是数字数据传输协议,gsm ,gps可以用,但是如果需要采集模拟量,比如我要询问gsm设备的电池电压,那就要用rtu,,他可以采集模拟量信息,其实对于自己做产品,你都用rtu也可以。也就是说就这点儿区别
知道了dtu rtu的区别,可以尝试分析和编写通信协议了,不需要了解太多,你只需要知道上面提到的第三点就可以了!
先说第三点,从机应该发多少数据给主机?答案是:主机请求N个寄存器,从站就发2N个字节(特别注意,一个寄存器是16位的,而且这个数据长度是不算报文头,不算crc,不算功能码的,下面有图说明)下面看一下真实的通信情况此处主机请求一个寄存器,主机发出10 03 00 00 00 02 c7 4a 注意数据高位在前,crc是低位在前
这是一条完整的从机正常相应命令
返回一个寄存器的数据
好了,通信协议,就这样的,你可以使用modscan和usb转串口设备测试一下
modscan设置如下
现在开始实测一下,先确定电脑至少有两个串口,一个串口作为modscan的发送,一个串口用串口调试助手发数据
波特率都一样就可以,其他默认
然后modscan 点击连接后,自动下发数据
串口调试软件,收到数据后,点一下发送就可以了,可以观看到modscan已经成功收到并显示数据了
END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士
相关问答
Q1: 如何用JAVA实现警报功能
JOptionPane.showMessageDialog(null,"输入提示错误信息","对话框的标题",JOptionPane.ERROR_MESSAGE);
Q2: java实现车辆偏移预定路径范围100米报警
这个完全靠数学计算,
预订路径肯定会有一个
路线,线都是由无数个
点组成的,所以它在某
一个位置肯定会有一个
坐标,你就可以设置参
照点了,按需求,这个
参照点就是汽车的实时
坐标,你得从这个点开
始向路线作垂线,那么
套用公式(横坐标相减
或者纵坐标相减)得出
2个距离来,再判断这个
距离是不是超出范围,
超出就运行报警程序
Q3: java J2EE 如何实现库存上下线报警机制?请详细说明 谢谢
如果你的产品的种类不是上百万的话,可以非常简单的实现。
每次在你更新库存的时候,数据库锁行,即一种商品(不是锁表哦)。更新前取下实时库存,然后加减你的更新值,看是否超上下限。
超了就不更新(根据你的业务),然后返回一个标记位flag到服务端(比如0是正常,1是超上限,-1超下限制)。服务端维护一个同步的map,存放mapproductid,flag;根据之前返回的标记位,去主动发送消息。也按照每个登录系统的人的session可以做轮询来通知用户。
只要注意2点:1.锁行和更新库存确保一个事务。2.服务端维护的map必须做写入的同步
Q4: java annotation有什么作用
Annontation是Java5开始引入的新特征。中文名称一般叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。
annotation一般作为一种辅助途径,应用在软件框架或工具中,在这些工具类中根据不同的 annontation注解信息采取不同的处理过程或改变相应程序元素(类、方法及成员变量等)的行为。
例如:Junit、Struts、Spring等流行工具框架中均广泛使用了annontion。使代码的灵活性大提高。
从java5版本开始,自带了三种标准annontation类型,
(1)、Override
java.lang.Override 是一个marker annotation类型,它被用作标注方法。它说明了被标注的方法重载了父类的方法,起到了断言的作用。如果我们使用了这种annotation在一个没有覆盖父类方法的方法时,java编译器将以一个编译错误来警示。
这个annotaton常常在我们试图覆盖父类方法而确又写错了方法名时加一个保障性的校验过程。
(2)、Deprecated
Deprecated也是一种marker annotation。当一个类型或者类型成员使用@Deprecated修饰的话,编译器将不鼓励使用这个被标注的程序元素。所以使用这种修饰具有一定的 “延续性”:如果我们在代码中通过继承或者覆盖的方式使用了这个过时的类型或者成员,虽然继承或者覆盖后的类型或者成员并不是被声明为@Deprecated,但编译器仍然要报警。
注意:@Deprecated这个annotation类型和javadoc中的 @deprecated这个tag是有区别的:前者是java编译器识别的,而后者是被javadoc工具所识别用来生成文档(包含程序成员为什么已经过时、它应当如何被禁止或者替代的描述)。
(3)、SuppressWarnings
此注解能告诉Java编译器关闭对类、方法及成员变量的警告。
有时编译时会提出一些警告,对于这些警告有的隐藏着Bug,有的是无法避免的,对于某些不想看到的警告信息,可以通过这个注解来屏蔽。
SuppressWarning不是一个marker annotation。它有一个类型为String[]的成员,这个成员的值为被禁止的警告名。对于javac编译器来讲,被-Xlint选项有效的警告名也同样对@SuppressWarings有效,同时编译器忽略掉无法识别的警告名。








