通用化的Modbus站点任务队列执行的模块实现

上传人:re****.1 文档编号:512090747 上传时间:2023-12-09 格式:DOC 页数:7 大小:173KB
返回 下载 相关 举报
通用化的Modbus站点任务队列执行的模块实现_第1页
第1页 / 共7页
通用化的Modbus站点任务队列执行的模块实现_第2页
第2页 / 共7页
通用化的Modbus站点任务队列执行的模块实现_第3页
第3页 / 共7页
通用化的Modbus站点任务队列执行的模块实现_第4页
第4页 / 共7页
通用化的Modbus站点任务队列执行的模块实现_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《通用化的Modbus站点任务队列执行的模块实现》由会员分享,可在线阅读,更多相关《通用化的Modbus站点任务队列执行的模块实现(7页珍藏版)》请在金锄头文库上搜索。

1、通用化的Modbus站点任务队列执行的模块实现这里说的是与任意一个 Modbus从站进行通信,会有一个通信队列。这个队列由多个通信任务组成,这些通信任务一个接一个的执行,可以是读或写整数或二进制。这里分享的是一种通用的模块化的实现,它可以对任何单个站点实现上述的功能。多个站点之间的轮询,如何切换调度等等,或者每一个具体站点在通信前后的数据如何处理,那些是很多个性化的东西,通用的不多,没有在这里给出。所以下面要介绍的代码模块需要与其它FC或FB前后配合调度才能实现完整的具体Modbus通信场景,这里不赘述了。分享的目的就是仅在一个局部问题的通用化处理,给大家提供启发,重在展示结构设计策略。这个模

2、块的设计是包含两个FB :一个是站点FB ; 一个是Modbus任务执行FB,后者嵌入在前者内部做为子模块被调用执行。站点FB的功能是把任意从站的通信队列,在其内部调度分派给Modbus任务FB。任务FB每次执行一个任务,依次把整个队列执行完毕。同时顺便采集一些必要的监控信息。1、站点FB下面的图片是站点 FB被调用的样子。这个FB的设计是基于假设通常大多数情况下,多个从站会采用相同的通信参数连接到一个485端口,所以没有为每一个从站的执行单独进行不同的端口初始化设置。如果情况需要,比如每个从站的协议有所不同,可以把端口初始化的子模块嵌入到站点FB内部,这样可以为每个不同的从站配置不同的端口参

3、数。沁: hliX瘴五VIAEHEE3H:现冋牛FnirBTl.lL 阿钏(MH - 级I IPt创下图是站点FB内部的结构,分为 5个部分。2 站点任务队列轮询-初始化3田REGION胡点淫务队列轮筍】-初始化1617 站点任务队列轮询通信任务调度IB E1REGION 站点匡苣匹烈轮沱通信圧务调蔗3637 站点任务队列轮询逋信任务执行3B 0REGION 站点任务臥烈轮询一通信任务执行6061 站点任务队列轮询一-时间62 0 REGION iff点桂务队列轮询一时间7580 站点任务駅列轮询-结束01 0REGION2危点在务臥列轮询-结束33 I下面的图片是5个部分分别的细节展示。(1

4、 ) 485端口除了上电初始化,运行中随时可以初始化。如果需要,每个从站单独的端口初始化的可以在此处进行。T詁点讦筈灵千i一杓妇卩aZlf ! :.in站点怪笔Bk刘轮初始化IF f StationMilt OR 靠週宿执THEN-Tr-h : - e?汨 g :- jy 讥心自:-j:= #Yo( -bL -Ni话出匸务:=帘年冷;= at/ o: 化:=3;(2)来自人机界面操作者的命令对从站的功能模式随时进行改变,所导致的从站任务队列执行需求的动态变化,在此处实施。IBBESXOI站点任鲁賦列检宿任务谦电-F : - *1niz JtMI? = J b | . rff7 ANU N; r

5、 *亡北”弓判THENtModbui G :=:EXD_TF;/灯口爭不需说产讦弋一牛TP HOT卡请诧:况任労九匕1 .执疔性空HKHfJob : Jch + 1rra,P_ir?3S ENEFzGEOef404:42A3X4彳4dbi 单元 f 从站号;-*从站号诗僅任背:-乍淸倍仔齐,Modbu r:官翟J ;匸 f M - ar j- ST-,H 口 dfo iiE姑农i - t M w吐m辭主* 适佶數攥 寥逋性丁帀”丁务甲孔切救据 戒功计救;=通傳记童DBZJbb, 错课计敷:=葫曰彳=录鼻匹*0鈕“ 错课代码:.=rcode ob f 戎功写存识=、#SiaM.wriimff0d

6、t:JLBc TFEH 韋忙OdU日圭羽:=0; t.JDb :二 #Job + 1? #KDdbDUE&.5S : - 0;EKTDIF/EK3 IF;HMI上供操作者判断。(4)整个任务队列执行时间在 HMI上的动态显示。要求不高,基本上通信质量所导致的时间延长或缩短可以在沁 &占庄务IX孔堆浇一-时.网62匕血二二阳対右任將轨列轮询-时1旬6363 “计时器运忙设定5 B # Timer (IJi : = * Jot = j AND 4 Jot tQtl fl ) I68 t IF D位 lit TUTURiSiT_TIDGF(#TimqJ】Q EXD IF;dSSLH -/丄72 八时

7、月轲推严且示73 E IF TJob AKD 4 Jot F:*_ E;fD IF;7? r _TB _Sr_REGIOil(5)90 站点任务队列轮询-一结束SI BREGTOH 站点任务队列轮询结束IF #Job =thentSt;at-ion结束;=1;END_TF;9233 B348586ENE REGIOX97 _口 口2、Modbus 任务执行FB 下图是任务执行 FB内部的结构,分为 4个部分。2 /Modbus ft Int3 Eregion Modbus I nt2021 /凹 odbus 操作 E cl22 EIREEO Modb于操3940 /ModJCHig或功计数41

8、 EREGTO1-或功计数6263/M 口 dbu曰匚错课计数64田REGS町曼课计数93|下面的图片是4个部分分别的细节展示。(1) and ( 2):整数和二进制的执行是经过判断分开的2 $ i BMth 作 Intj lfcfcGlmi Bcdb*曰矗低intI IE 二 :F 包 任”谷-Z!l-2i:K:L - D TTSEX7 村 #也0工*.:11其.11匚和赵霽:-fHz-Jbus E -1 AXD HOT *HTb狛*3 MB_JLDDil = * 風站$HEK 3= IJl* * * A -NWuL 2A.1*_*DIG : a 悄国务-*鱼.ZUmiJlDtDR_,II

9、- f ?S ft *, B n&TA_JSB,门MW匸卩詡IV戴哺-JMHE= #堪倍NfeKd.1EPLE * rilKtur,15BTATfffl - I Sifl - 巴“31/ /HodbJC llRL iUK HcdDkUi 4 tEk3d L23 |-3 =1:F t B, rB ttS% 帝幣,3_3F.3L - 1 THETse -*_E-a2*ER.二nwTmiiwac旺U := FHdbuiS s+i xmc Nffi 池me止p站电L .!ri& jKBdML = 康岭尊工?Hnarr 3*锂芳曲-丽血*汕ZATHAJMB -电吝信吐* ,岭垃,二BTSi-ADTfUI

10、D|阖匸匸酬:邇怪翠一扎血*Si3*1*_P?t=申谒 HifiiflRNE 盟KH.R *f 10 rfl|EKE$Zr?4.tPAHJB =(3)成功计数供HMI监控通信质量。写操作的记录是为了成功之后不再重复写,除非有变化。40 打艺udbsfiE功讨救1冋fUIEICM或功计数421 h IF 才i阿世 1二口二日 OR fi_e2-ocd THFH戎功讦難:=半哦功计甦 + UIF 遇世任另毎數M. - 1 THEK *喊功骂麻谓? TFUE;ETC_IF?IF丰克功计软 3lG00 THEN卡或功甥T= OjENC_I7;HodbX 0;fKodbjSW * 1|-tlffi!2G

11、0d ; 禮倍 IGCOSrAL FJ(4)错误计数和错误代码也是供HMI监n/Madhiuie石4 5REG二刖略调计3&林QIT tiUflUlmrTHEN7幡乐代码=-3 170 HTF tifitMlETrcrTHEHT1克代码7-U 1IND_IFJ 50030 THEflj眄MS帚讦iK:Oj4 1BlC_ZPj:-0;ft?iftodfcu-iS:* 1J鵰 i ift *R 1 FTT 程痒段仁缶吐瑞口嘶忧程凉段2:遵馆R戒 程序段3 : *袖睢师性化)Sk 釋席离4 ;*戌田,卜性让 程再段: 占点调底亍性毗* 程序段& : *砧白怎载不性化 程序椁了: 站点迪蓿 程序段曹:枫詁点融处理丰哇化: 程序段9: *詁点赫

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号