SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    通讯机制说明 通讯的总体机制采用呼叫应答方式,就是上位机软件主动发送请求数据命令,下位机终端接收到命令后,并校验成功,返回相应的数据. (1)串口通讯机制包括:轮询模式. 串口总线涉及到一对一的通讯.一对多的通讯,为了避免总线上数据的冲突问题以及环境干扰的问题,在保障通讯稳定性的前提下,只采用轮询通讯机制.一个设备发送.接收完成数据后,才进行下一个设备的通讯.但是这种通讯效率比较低,如果要提…
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    服务接口的作用 围绕着设备驱动模块采集的数据,根据需求提供多种应用服务,例如:数据上传服务.数据请求服务.4-20mA服务.短信服务.LED服务以及OPC服务等.保障数据实时性.稳定性的前提下,服务接口可以提供丰富的功能服务机制,方便开发者进行二次开发. 1.2    接口功能说明 开发设备输出接口,主要考虑到在集成项目中,集成过程中或被集成过程的各种数据格式的输出.需要继承SuperIO.…
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    导出数据接口的作用 在数据集成系统项目中,要么是自已集成其他厂家的设备,要么是其他厂家集成自己家的设备,在没有统一的标准前提下,就会有各种集成数据的格式.为了满足此类的场景,为设备输出数据专门设计了接口,开发者可以继承该接口,设备在处理完数据后,会把数据自动传输到该接口,可以按规定的数据格式进行输出了. 1.2    接口功能说明 开发设备输出接口,主要考虑到在集成项目中,集成过程中或被集成…
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    图形显示接口的作用 用于显示采集终端设备的数据,可以把不同类型设备的数据以多种形式集成显示在不同界面上.方便为用户提供多种的.更友好的人机交互界面. 1.2    接口功能说明 开发设备显示容器一般是指窗体,主要是为了满足不同用户的显示需求,而能进行灵活配制,需要继承SuperIO.Show.IGraphicsShow接口.接口包括: 1)         ThisKey 返回窗体ID,且唯…
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    开发准备 把“开发包”内的所有文件复制到项目的“bin”目录下,或项目下的专用生成目录.开发包文件包括如下图: SuperIO.dll是软件平台的核心模块, SuperIO目录是软件平台的参数配制.数据存储的目录. 1.2    项目配制 1)目标框架选择Framework4.0 2)生成的目标平台采用x86 所有事例程序的目标平台采用x86.主要考虑到32位操作系统与64操作系统的兼容性.…
1.1    架构结构图 1.1.1    层次示意图 1.1.2    模型对象示意图 1.2    IO管理器 IO管理器是对串口和网络通讯链路的管理.调度.针对串口和网络通讯链路的特点,在IO管理器接口的基础上派生出串口管理和网络管理. 1.2.1    串口管理 串口管理对创建串口IO实例.串口IO的打开.串口IO的关闭以及释放资源作出及时响应,以及IO操作实例的管理. 1.2.2    网络管理 当设备采用网络通讯模式的时候,设备的工作模式分为:Tcp Server和TcpClient…
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    统一的IO接口 开发一套设备驱动同时具备串口和网络通讯能力,通讯接口在逻辑上是统一的,在此基础上串口和网络也有自己的IO通讯特点,根据不同的通讯方式,可以把IIOChannel实例转换成ISessionSocket或ISessionCom实例.如下图: 1.2     通讯要求 一个请求命令分两次发送,每次发送数据时的串口校验位不同.先发送地址信息,这时串口的配置为Baud,m,8,1:再发…
1.1    应用场景 通讯平台的交互对象包括两方面:第一.与硬件产品交互.第二.与软件产品交互.基本这两方面考虑,通讯平台一般会应用在两个场景: 1)通讯平台应用在PC机上 主要应用在自动站的工控机上,通过RS485/RS232.RJ45.4-20mA等方式采集硬件设备的数据信息.同时,通讯平台与服务器端的软件进行交互,负责上传数据信息,以及接收控制命令等. 2)通讯平台应用在服务器端上 终端设备以3G/4G.有线专网.卫星等与通讯平台连接,进行数据交互,终端设备包括:PC机.移动终端(手机)…
SuperIO 下载:本站下载 百度网盘 更新说明: 1.修复无法把数据输出给IAppService的问题,以及无法触发删除操作事件. 2.侦听端口,可以设置. 3.设备接口,增加Object属性,方便平台使用. 4.中断时间改为轮询模式中断时间. 转载地址:http://www.bmpj.net/article-1-1.html 一.SuperIO 的特点: 1)支持二次开发,快速构建自己的通讯数据采集平台软件 2)快速构建设备驱动.协议驱动.命令缓冲.自定义参数和实时数据 3)快速二次开发图…
下载:SuperIO 2.0(开发手册.Demo.组件包) 官网:进入 交流群:54256083 SuperIO 2.0版本正式发布.把SCL正式更改名称为SuperIO. 一.此次升级主要包括两个方面: 构架的软件界面更友好. 修改核心代码,包括:设备管理器.IO管理器和控制器.设备调度管理器等重构. 二.SuperIO 2.0版本升级内容包括: 代码的整体架构更清晰.合理: 运行效率和性能方面有了很大提升: 更方便的用C#进行二次开发: TCP通讯方式的时间,增加了并发模式,同时支持并发和轮…
SuperIO 2.1下载 一.SuperIO 的特点: 1)    能够很快的构建自己的通讯平台软件,包括主程序. 2)   设备模块化开发,通过配制文件挂载,即可在平台软件下运行. 3)   设备模块同时支持COM和TCP两种通讯方式,可以自由切换. 4)   设备协议无关性,可以把第三方协议转换成自定义的协议方式. 5)   设备命令缓冲器,可以设置命令发送的优先级别. 6)   接口自定义输出数据格式,供自己或其他厂家进行数据集成. 7)   接口自定义UI展示,以表格.动态图形化显示数…
v4.2.3.1 更新内容:1.选择和管理设备驱动,增加树状结构显示.2.优化ide代码,核心代码没有改动.下载地址:官方下载 5. 树形结构管理设备驱动,小版本更新 5.1    概述 此次升级主要是对增加设备驱动的树形结构显示,方便按类选择设备驱动.涉及到增加设备驱动和管理设备驱动两个功能.此次是小版本更新,不影响以前版本的使用. 5.2    树形结构管理设备驱动 增加设备驱动功能,按树形结构选择.现阶段主要驱动包括:Modbus Serial.Modbus Tcp.SuperLink(网…
1.1    二次开发流程图 1.2    引用相关组件 找到“开发包”,引用里边的相关组件.如下图: 1.3    开发设备驱动模块 1.3.1    开发发送协议驱动 继承SuperIO.Device.DeviceSendProtocol接口,覆盖相关的FunctionXX接口函数,进行数据打包,“XX”代表16进制的数据,例如:Function31函数通过this.SendProtocol.GetSendCmdBytes(addr, new byte[] { 0x32 }, null, f…
注意:要想实现校验,action必须继承自ActionSupport类. 1.基于手工编码的校验 我们建立struts2validate项目 ,其中reg.jsp页面主要代码如下: <body> <s:head/> <h3>注册页面</h3> <s:form method="post" action="reg" > <s:bean name="com.asm.AgeAction"…
目       录 第四章           设备驱动管理器的设计... 2 4.1           接口定义... 2 4.2           设备容器... 7 4.3           生成设备ID.. 7 4.4           对设备容器操作的互斥... 8 4.5           获得设备列表... 8 4.6           设备计数器的特殊用处... 8 4.7           小结... 10 第四章     设备驱动管理器的设计 设备驱动管理器是对…
目       录 1.      概述... 2 2.      iNeuOS平台演示... 2 3.      设备驱动管理... 2 4.      服务驱动管理... 3 5.      云组态自定义画布... 4 6.      快速切换组态页面菜单... 5 7.      自定义右键菜单项,显示组态子页面... 5 8.      工况关联数据点... 6 9.      修改用户密码... 6 1.   概述 现在iNeuOS正式版本的演示平台已经有350多个注册用户,一部分注册…
目       录 第三章           设备驱动的设计... 2 3.1           初始化设备... 4 3.2           运行设备接口设计... 4 3.3           虚拟设备接口设计... 6 3.4           协议驱动设计... 7 3.5           命令缓存设计... 17 3.6           数据持久化设计... 24 3.7           IO数据交互设计... 26 3.8           通讯状态设计..…
要对接微信公众平台的"开发模式",即对接到自己的网站程序,必须在注册成功之后(见Senparc.Weixin.MP SDK 微信公众平台开发教程(一):微信公众平台注册),等待官方审核,审核通过之后,会在后台顶部出现“高级功能”菜单. 使用“高级功能”>“开发模式”之前,必须有一个已经部署在Internet上,可以用80端口访问的网站(域名或IP访问都可以),一些开发的准备工作见文章:Senparc.Weixin.MP SDK 微信公众平台开发教程(二):成为开发者 首次进入“高…
这里所说的高级接口是指面向通过认证的服务号开通的高级功能. 高级功能大致可以分类为: 用户接口 分组接口 客服接口(有别于之前介绍的多客服) 群发接口 多媒体接口 二维码接口 模板消息接口(不是所有账号都可开通) OAuth2.0(相对比较复杂,后面会有专门介绍) 以上所有的接口都包含在Senparc.Weixin.MP.AdvancedAPIs命名空间下. 一些共同的操作 几乎所有的高级接口都需要用到AccessToken来通讯(注意,下面如果没有特殊说明的接口都需要这个AccessToken…
Senparc.Weixin.MP SDK 微信公众平台开发教程(二):成为开发者 这一篇主要讲作为一名使用公众平台接口的开发者,你需要知道的一些东西.其中也涉及到一些微信官方的规定或比较掩蔽的注意点.欢迎补充! 我觉得做好成为开发者的准备比稀里糊涂开通微信后台的"高级"功能更重要,所以这一节先放在前面说. 一.公众平台的通讯过程 作为开发者,我们需要面对的主要有两个对象:微信服务器和应用程序(网站)服务器. 当微信用户向你的公众平台发送一条消息,实际上这条消息首先发送到微信服务器,由…
本文将介绍如何在 .NET Core 环境下,借助 SignalR 在小程序内使用 WebSocket.关于 WebSocket 和 SignalR 的基础理论知识不在这里展开,已经有足够的参考资料,例如参考 SignalR 的官方教程:https://docs.microsoft.com/zh-cn/aspnet/core/signalr/introduction?view=aspnetcore-2.1 我们先看一下完成本教程内容后,在小程序内实现的 WebSocket 效果: 私有及群发消息…
在Senparc.Weixin.dll v4.5.7版本开始,我们提供了Web代理功能,以方便在受限制的局域网内的应用可以顺利调用接口. 有关的修改都在Senparc.Weixin/Utilities/HttpUtility/RequestUtility.cs: #region 代理 private static WebProxy _webproxy = null; /// <summary> /// 设置Web代理 /// </summary> /// <param nam…
前不久微信上线了个性化菜单接口,Senparc.Weixin SDK也已经同步更新. 本次更新升级Senparc.Weixin.MP版本到v13.5.2,依赖Senparc.Weixin版本4.5.4..NET4.5(master) / .NET4.0两个分支都已同步更新. 由于个性化菜单变化比较大,所以对整个菜单接口进行了目前为止最大面积的重构(可以向下兼容). 相比之前的自定义菜单,目前整个菜单相关功能针对文件结构进行了全面的整理,: 接口 菜单接口已经全部归入CommonAPIs/Menu…
oschina(开源中国)的Git代码托管平台使用教程 第一章 平台介绍 一. Git@OSC简介 开源中国的Git@OSC一个账号最多可以创建1000个项目,包含公有和私有,开源中国代码托管地址:http://git.oschina.net/. 一. OSChina团队协作开发平台简介 开源中国团队协作开发平台,和代码托管平台一起,打造了一个十分好的团队开发平台,开源中国团队协作平台地址:http://team.oschina.net/,团队协作平台支持任务的创建.讨论.便签等. 第二章 To…
=============  以下写于2013-07-20 ============= 这一篇文章其实可以写在很前面,不过我还是希望开发者们尽多地了解清楚原理之后再下手. 通过上一篇Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证,我们已经使微信客户端发来的信息都可以转发到我们自己的服务器上. 下面将介绍如何处理这些请求,并且返回符合规定格式的数据.当然,这一篇只是以最原始的代码,说明一下这个处理过程的大致逻辑,其实我个人并不推荐这么“丑陋”的写法,后…
Senparc.Weixin.MP SDK已经涵盖了微信6.x的所有公共API. 整个项目的源代码以及已经编译好的程序集可以在这个项目中获取到:https://github.com/JeffreySu/WeiXinMPSDK PS:由于微信API以及Senparc.Weixin SDK一直在不断升级更新,最新的代码及Demo以上面的github中的源代码为准. 我们现在从无到有建立一个ASP.NET MVC项目,来看一下如何与微信进行对接(Webforms原理也都是一样,只不过把Controll…
上一篇<Senparc.Weixin.MP SDK 微信公众平台开发教程(五):使用Senparc.Weixin.MP SDK>我们讲述了如何使用Senparc.Weixin.MP SDK对接微信最基础的验证API,这一篇我们将具体讲一下这个SDK处理微信消息的核心:MessageHandler. 有关MessageHandler的实现原理和说明,在这篇Wiki中已经说得比较详细了,这里用代码演示一下. 延续上一篇的代码,我们继续为项目添加一个CustomMessageHandle.cs类:…
从这篇文章中我们已经了解了微信公众平台消息传递的方式,这种方式有一个先天的缺陷:不同用户的请求都来自同一个微信服务器,这使得常规的Session无法使用(始终面对同一个请求对象,况且还有对方服务器Cookie是否能保存的问题). 这就要求我们自己建立一套独立的对话上下文请求机制. 上一篇<Senparc.Weixin.MP SDK 微信公众平台开发教程(六):了解MessageHandler>中我们了解到,Senparc.Weixin.MP SDK提供了一套非常便捷的消息处理机制,这套机制上面…
一.基础说明 这里说的“通用接口(CommonAPIs)”是使用微信公众账号一系列高级功能的必备验证功能(应用于开发模式). 我们通过微信后台唯一的凭证,向通用接口发出请求,得到访问令牌(AccessToken),然后使用访问令牌去使用各项需要身份验证的高级功能,例如自定义菜单.获取用户信息.单发消息.群发消息等等. 目前所有的服务号和通过认证的订阅号,都可以在微信公众账号后台的[功能]>[高级功能]>[开发模式]下的“开发者凭据”一栏找到AppId和AppSecret两个字符串,这两个字符串…
上一篇<Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明>介绍了如何通过通用接口获取AccessToken,有了AccessToken,我们就可以来操作自定义菜单,以及其他的高级接口,这一篇单讲自定义菜单. 一.自定义菜单规则 自定义菜单分为一级菜单和二级菜单. 一级菜单数量为1-3个,即打开公众账号直接可以看到排列在最下方的最多3个按钮.一级菜单的文字最多不能超过16字节(相当于8个汉字). 二级菜单从属于一级菜单,数量为1-5个.二级菜单的文字不最多不能…