modbus基础知识 modbus协议最初是由Modicon公司在1971年推出的全球第一款真正意义上用于工业现场的总线协议,最初是为了实现串行通信,运用在串口(如RS232.RS485等)传输上的,分为ModbusRTU.Modbus ASCII两种,后来施耐德电气将该公司收购,并在1997年推出了基于TCP/IP的Modbus TCP.现在使用最多的就是Modbus TCP了,我们今天的主角也是它. Modbus作为一种通信协议,它和我们之前介绍的Zigbee有很大不同,Zigbee有自己完…
1 通讯步骤 1.1 第一问 OPC Client和OPC Server之间通讯谁是主动的? 答:当然是OPC Client. 1.2 第二问 OPC Client第一次动作做了什么? 答:从大多数OPC Client行为来看,一是自动遍历本机已注册的OPC Server列表名称,二是等待用户定义预访问的OPC Server的信息. 1.3 第三问 OPC Client第二次动作做了什么? 答:OPC Client的第一步动作会产生分支,访问本地OPC Server的这个分支就不再说了.要分析的…
原文链接:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=275774 一.简介 DDMS 的全称是DalvikDebug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务.提供测试设备截屏.查看特定进程正在运行的线程以及堆信息.Logcat.广播状态信息.模拟电话呼叫.模拟接收及发送SMS.虚拟地理坐标等服务.   二.启动 Eclipse中启动方法: 1.点击右上角DDMS图标 2.没…
这一次我们封装Modbus TCP Client应用.同样的我们也不是做具体的应用,而是实现TCP客户端的基本功能.我们将TCP客户端的功能封装为函数,以便在开发具体应用时调用. 对于TCP客户端我们主要实现的功能有两个:其一是生成访问TCP服务器的命令,总共支持8中功能码.其二是对TCP服务器端返回的信息进行解析并根据结果进行各种操作,同样也是支持8中功能吗的操作.具体软件访问结构如下: 1.访问命令的生成 客户端作为主动交互端,需要向服务器发各种操作请求命令.所以对于TCP客户端来说,首先要…
在完成了前面的工作后,我们就可以实现有针对性的应用了,首先我们来实现Modbus TCP的服务器端应用.当然我们不是做具体的应用,而是对Modbus TCP的服务器端应用进行封装以供有需要时调用. 这里我们不涉及TCP的协议,这部分与Modbus没有必然联系,我们只是在其应用层运行Modbus协议而已. 对于Modbus TCP的服务器我们需要实现几个功能:首先是对接收到客户端命令进行解析,我们只实现前面提到的8中常用的功能吗的支持.其次在解析完成后,我们要实现对应各种功能码的操作.具体架构如下…
工欲善其事必先利其器,本文适合Android新手以及用过Eclipse而没用过Android Studio开发Android的老手,众所周知,谷歌是不会再维护和开发ADT了,旧的ADT已经是完全不能渲染Android 6.0的UI布局了,码农们必须适应时代快速转向AS. 注:以下以Windows平台为标准,AS以目前最新稳定版1.4.1为准.为了描述简单,以下用<AS>代替Android Studio描述词. 一.正常使用AS进行开发必备软件环境:一个操作系统(Windows.OSX或Linu…
WePY的安装或更新都通过npm进行,全局安装或更新WePY命令行工具,使用以下命令: npm install wepy-cli -g 稍等片刻,成功安装后,即可创建WePY项目. 注意:如果npm安装时间过长或者是连接超时而导致的失败,则可以使用国内的镜像源,这里推荐一个稳定的源,来自淘宝.网站地址为http://npm.taobao.org/,可以使用淘宝定制的cnpm(gzip压缩支持)命令行工具代替默认的npm: $ npm install -g cnpm --registry=http…
在上一次的文章中我们介绍了施耐德公司的协议modbus,这次我们把目标转向私有协议,来看看另一家巨头西门子的S7comm.首先要说明,这篇文章中的内容有笔者自己的探索,有大佬们的成果,但由于S7comm是私有协议,一些结论和看法不可能完全正确,希望各位有认为不对的地方或是更好的看法可以评论告诉我. ps:有些专业名词可能不对,因为没找到准确的翻译或者是根本没找到官方定义(毕竟是私有协议),笔者就自己起了名…… 建议阅读本篇前首先阅读:工控安全入门(一)—— Modbus协议 S7comm简介 西…
                                                                                                     By Lthis 上个月就想写了,一直没时间...网上大概搜了一下,原理与操作倒是一大堆,一直没看到源码实现,总得有人动手,这回轮到我了.东西写得很烂,请大牛勿喷.一直觉得靠源码的方式驱动学习是非常好的一种学习方法,比较直观!声明一下,本教程只有讨论开启PAE与关闭PAE两种,至于PSE是否开启没…
代码 #-*-coding:utf-8-*- import os from tkinter import * root=Tk() root.title('小工具') #清空文本框内容 def clear(): text.delete('1.0','end') #执行 def show(): print('hello') text.insert('1.0', "hello\n") #文本信息 def insert_text(msg): text.insert(INSERT,'%s'%ms…