最近在做微信门禁,智能电表采集,智能水表采集项目时,发现网上很多调试工具用起来不顺手,电脑里面起码下了五六个软件. 好不容易弄清楚了,就自己写一个工具,方便自己使用,也顺便造福一下其他人吧…
前面我们已经详细讲解过Modbus协议栈的开发过程,并且利用协议栈封装了Modbus RTU主站和从站,Modbus TCP服务器与客户端,Modbus ASCII主站与从站应用.但在使用过程中,我们发现一些使用不便和受限的地方,所以我们就想要更新一下协议栈,主要是应用站的封装. 1.存在的局限性 在原有的协议栈中,我们所封装的Modbus RTU主站是一个特定的主站,即它只是一个主站.在通常的应用中不会有什么问题,但在有些应用场合就会显现出它的局限性. 首先,作为一个特定的主站,带多个从站时,…
Modbus RTU新版本指令介绍 TIA V13 SP1版本软件中提供了2个版本的Modbus RTU指令: 图1. 两个版本Modbus RTU指令 早期版本的Modbus RTU指令(图1. 中 MODBUS (V2.2))仅可通过CM1241通信模块或CB1241通信板进行Modbus RTU通信.新版本的 Modbus RTU指令(图1. 中 MODBUS(RTU) V3.0)扩展了Modbus RTU的功能,该指令除了支持CM1241通信模块.CB1241通信板,还支持 PROFIN…
IGH_Master主站配置驱动伺服电机和变频器总结 Ethercat是倍福公司提出的一种工业现场总线协议,具有很好的实时性,IGH是一种开源的Ethercat主站实现协议,本文总结了一下使用IGH_Master驱动伺服电机和变频器的经验 1.Ethercat_Tools的使用 安装好IGH_Master后,在/ethercat/igh/out/bin文件夹下,使用./ethercat --help命令可以查看Ethercat的工具,这些工具可以查看连接至主站的从站的各种信息,极大方便主站驱动程…
随着越来越多的智能硬件产品上市,越来越多的硬件都戴上了智能的帽子,什么智能插座,智能音箱,智能称等等.凡是所谓的智能,都是通过wifi或者蓝牙来连接互联网,其中蓝牙也只能算是手机的附属品吧.主要还是硬件可以通过wifi连接到路由,通过路由连接上互联网.如下图所示: 在此不再详述BLE.NFC等的设置,流程比较简单和统一. 市面上已经有的关于手机app配置智能硬件主要有以下几种, 1.手机连接智能硬件的软ap,再配置 这个方式相信没有难度,手机连接上了智能硬件后,手机app和智能硬件就可以建立so…
近期智能家居比較火,将房子简单改造下,也算体验智能家居. 本文解说的是用无线的方式,长处是:不用改造现有线路,直接安装模块就可以实现想要的功能,花的钱也较少,共六百左右 =======================正文開始切割线======================== 一.终于要实现的效果: 用智能手机能够控制家中的电视.空调.灯光.窗帘.热水器.电饭煲 实现上述功能,大概费用几百块钱左右 二.详细的实现过程 总体流程:A------>B------>C 1.这里A表示手机,须要是智…
概要 基本概念 网线 集线器 交换机 路由器 路由器和交换机 路由器和集线器 接入网 IP DNS 以太网 协议栈 网络连接过程 通信过程(浏览器 -> 服务器) 客户端和服务端 服务端的套接字和套接字描述符 概要 网络是个很多人都知道, 却又是很多人都说不清楚的东西, 对于一般用户来说, 没什么问题. 但对于一个软件开发人员来说, 至少要能够大致描述自己的程序中网络部分是如何运作的. 因为, 目前几乎任何程序都和网络有关, 纯粹的单机程序几乎已经绝迹. 如果弄不清楚网络的运作机制, 除了网络相…
这一节我们来封装最后一种应用(Modbus RTU Master应用),RTU主站的开发与TCP客户端的开发是一致的.同样的我们也不是做具体的应用,而是实现RTU主站的基本功能.我们将RTU主站的功能封装为函数,以便在开发具体应用时调用. 对于RTU主站我们主要实现的功能有两个:其一是生成访问RTU从站的命令,总共支持8中功能码.其二是对RTU从站端返回的信息进行解析并根据结果进行各种操作,同样也是支持8中功能吗的操作.具体软件访问结构如下: 1.访问命令的生成 客户端作为主动交互端,需要向服务…
我的目标是在我的MacBook以太网端口上安装一个以太网交换机,我将通过DHCP连接几个Raspberry Pi连接,每个都将运行VNC服务器进行远程访问,我希望我的互联网可以从我的MacBook的WiFi连接. 为了做到这一点,我使用了OSX的内置DHCP服务器,如下所示: 在/ etc /中编辑了bootpd.plist,这将配置192.168.2.0网络的DHCP服务器 <?xml version="1.0" encoding="UTF-8"?>…