CP341自由口轮询采集多从站实例
- 格式:docx
- 大小:105.65 KB
- 文档页数:6
Modbus RTU 协议的多站点轮询(CP341,RS485)1.硬件列表2.组态配置3.编程4.总结12 组态配置1、组态CPU及CP341,如图1将CP341逻辑地址设为256。
图12、设置Modbus总线传输速率和帧字符结构双击CP341->Parameters->Protocol中选择Modbus Master;双击信封Protocol,选择Modbus Master设置总线传输速率和帧字符结构以及,其它从站的设置必须和主站设置一致。
如图,本例传输速率为9.6Kbit/s,帧字符1-8-e-1,即1位起始位,8位数据位,偶校验,1位停止位。
图23、设置电气接口选择半双工RS 485,接收端初始状态按图3设置,各从站的接口电气标准应和主站一致,如图,具体配置步骤请参考手册《CP340/341/440/441通讯及编程》。
图33 编程1、创建发送数据块DB1如图,定义Modbus功能码03的数据格式,更多功能码格式参考手册《以用于PtP CP MODBUS 协议 RTU 格式 S7 的 SIMATIC 可加载驱动程序为主站》图42、创建接收数据DB在此共建立了2个DB(DB4,DB5)分别存放来自两个从站的数据,每个DB分配了一个0~1000个字的整型数组如图。
图53、创建轮询功能块FC1设置指令计数器(MW2),如图,本例中设置为2,即2两条指令。
图6根据指令计数器值构造发送指令并指定接收缓冲区。
如图,指令计数器数值为1,构造的发送指令为访问1号从站,功能码03,起始地址0(对应Modbus地址40001),4个寄存器;接收缓冲区为数据块DB4,起始地址为0。
图7如图,指令计数器数值为2,构造的发送指令为访问2号从站,功能码03,起始地址0(对应Modbus地址40001),4个寄存器;接收缓冲区为数据块DB5,起始地址为2。
图8为了实现数据发送和接收,FC1中还必须调用CP341发送FB8 和接收FB7 功能块。
CP341轮询串行通信数据采集系统
王明军
【期刊名称】《设备管理与维修》
【年(卷),期】2016(0)4
【摘要】CP341轮询串行通信数据采集系统构成及组态,轮询串行通信时序图、流程图及梯形图。
【总页数】5页(P65-68,69)
【作者】王明军
【作者单位】淮安同方水务有限公司涟水分公司,江苏淮安 223400
【正文语种】中文
【中图分类】TP2
【相关文献】
1.基于状态诊断的串行通信轮询方法及实现
2.西门子PL C与空压机通过CP341进行Modbus多站点轮询通讯
3.基于Visual Basic与RS232串行通信的数据采集系统
4.基于串行通信的传感器自动识别与通用型浮标数据采集系统设计
5.基于Visual Basic与RS 232串行通信的数据采集系统
因版权原因,仅展示原文概要,查看原文内容请购买。
CP340/CP341 基于 ASCII 驱动协议的多站点轮询CP340/CP341 Multi-Station polling based on ASCII driver Getting-Started Edition (2010 年 05 月)摘 要 本应用示例通过个西门子串行通信模块 CP341 和一个 CP340 模块搭建了一个串行通 信网络,其中一个 CP341 作为主站,通过 ASCII 驱动协议方式轮询另外两个分别由 CP341 和 CP340 组成的从站。
其具体的实现方法和轮询原理具有普遍的指导意义,可以作为西门 子串行通信模块与支持 ASCII 协议的仪表、设备、系统等进行串行通信的参考。
关键词 CP340,CP341,ASCII,串行通信,多站点轮询 Key Words CP340,CP341,ASCII,Serial communication,Multi-Station PollingIA&DT Service & SupportPage 2-21目录1 网络搭建和硬件组态 .......................................................................................................... 4 1.1 网络搭建 ......................................................................................................................... 4 1.1.1 系统组成 .................................................................................................................. 4 1.1.2 软件环境 .................................................................................................................. 5 1.1.3 电缆和硬件连接........................................................................................................ 5 1.2 参数分配 ......................................................................................................................... 6 1.2.1 组态主站 .................................................................................................................. 6 1.2.2 组态从站 .................................................................................................................. 7 2 轮询原理 ............................................................................................................................ 8 2.1 原理说明.......................................................................................................................... 8 2.2 轮询机制 ......................................................................................................................... 9 2.2.1 数据帧格式 ............................................................................................................... 9 2.2.2 时序图...................................................................................................................... 9 2.2.3 流程图.................................................................................................................... 10 3 程序实现 .......................................................................................................................... 11 3.1 主站程序 ....................................................................................................................... 11 3.1.1 初始化.................................................................................................................... 11 3.1.2 启动发送 ................................................................................................................ 13 3.1.3 接收从站返回数据 .................................................................................................. 14 3.1.4 接收完成 ................................................................................................................ 14 3.2 从站程序 ....................................................................................................................... 16 3.2.1 接收数据 ................................................................................................................ 16 3.2.1 发送返回数据 ......................................................................................................... 17 3.3 实验结果 ....................................................................................................................... 18 4 应用小结 .......................................................................................................................... 18 5 相关参考资料 ................................................................................................................... 19 附录-推荐网址................................................................................................................... 20IA&DT Service & SupportPage 3-21西门子 SIMATIC S7 系列串行通信模块,包括 CP340、CP341、CP440-1、CP4411/2、CPU313C/314C-2PtP 以及 ET200S 的 1SI 3964/ASCII 等,都支持 ASCII 驱动协议的 通信,可以广泛地用于与第三方支持 ASCII 协议的仪表、设备、系统等进行点对点连接通 信,具有应用简单、灵活,使用方便等优点。
Modbus 从站调试注意事项:首先需要在CP模块上插入Modbus从站Dongle,如图3所示,然后安装Modbus从站软件包,您可以在下面的下载路径中获得,安装完软件包后,在您的项目中组态modbus从站,双击CP341模块,在模块的属性窗口中点击Parameter按钮,选择Modbus从站协议:图15将您的PC和PLC连接起来,PLC上电,点击Load Drivers图标,弹出装载驱动窗口:图16点击Load Drivers按钮,完成从站驱动安装过程,进行Modbus驱动装载的时候,PLC必须处于STOP状态。
在点击信封图标,打开Modbus从站参数窗口:图17默认从站地址222,然后在设定modubs从站的Function Code地址与PLC中M,I,Q等地址的对应关系:图18以上所设定的参数含义是Modbus主站读从站的前256个位(00001-00256)对应S7300站中MB0-MB31中的数据,主站读从站第257个到512个位对应QB0-QB31。
Function Code 01,05,15 对应M,Q,T,C等数据区,可读可写,具体的字节范围由您在modbus 从站组态时设定。
Function Code 02对应M,I数据区,只读,具体的字节范围由您在modbus从站组态时设定。
Function Code 03,06,16 对应DB区,可读可写,在modbus从站组态时设定对应的DB块以上各参数应该都设置,否则会出现地址找不到,主站通讯超时错误。
CP341从站参数都下载后,还必须进行一次硬件组态的编译。
然后下载至PLC中。
程序里,调用FB80里手动添加的DB80下载至PLC里后会出现报错,应该用实例库中的DB80 调用的FB80里的LADDER应该与硬件组态里的地址相以应。
Function Code 04 对应DB区,只读,在modbus从站组态时设定对应的DB块。
在STEP7的SIMATIC Manager中打开Modbus从站例子程序,如图7所示,将例子程序当中的所有程序块复制到您的项目当中,修改OB1当中的Network1里的LADDR参数,与您模块的实际硬件地址相同,如图4所示,将blocks文件夹下载到PLC当中,CPU运行,对M180.0和M180.5置位,就可以在Modbus主站上得到数据了,这里您需要注意S7 PLC与Modbus主站之间的数据地址对应关系,Modbus从站手册中包括了相关信息,通过下面的下载路径,您可以下载到该手册。
以CP341为例的modbus免狗主站功能块教程以CP341为例的modbus免狗主站功能块教程通信波 (QQ:2532622889)一:硬件接线1、确认是从CP341卡的DB15接口4(-)脚及11(+)脚引出两根信号线,并注意正负极;2、在485线型网络两端(信号线路相距最远的两个通信端口上)需并联终端电阻(250欧~330欧)。
根据传输线理论,终端电阻可以吸收网络上的反射波,有效地增强信号强度;3、如果CP卡有发送时则TX灯会闪亮,如果CP卡有接收时则RX灯会闪亮;二:ModM_34x示例程序移植至当前STEP7工程项目将上图中所示的FB块,FC块,DB块拷入工程项目中,VAT表可以不拷贝,并在OB1中调用FC171块,注意上图的8个DB块是与示例程序FC171中FC190管脚上指定的DB块一一对应的,各位可以根据需要自已定义或修改DB 块序号及DB块存储空间的大小,但一定要注意开辟的DB块的大小要符合通信要求:例如想要读模拟量40100的值,那么DB块至少要开辟100个字的大小,因为DBxxx.DBW0对应于40001、DBxxx.DBW2对应于40002、DBxxx.DBW4对应于40003、……、DBxxx.DBW198对应于40100;例如想要读数字量00100的值,那么DB块至少要开辟100个位的大小,因为DBxxx.DBx0.0对应于00001、DBxxx.DBx0.1对应于00002、……、 DBxxx.DBx1.0对应于00009、……、DBxxx.DBx12.3对应于00100;三:程序移植后当前工程项目涉及到的STEP7硬件组态1、配置CPU硬件组态中的Clock Memory,其中指定的MB序号要与FC171中FB171管脚上的CLOCK_CPU一致;2、配置CP卡的地址,使其与FC171中FB171管脚上的LADDR1、LADDR2一致;3、双击CP卡弹出下图对话框,若Parameters按钮灰化,则需安装CP卡驱动程序;4、双击上图Parameters,弹出下图对话框,将Protocol配置为ASCII;5、双击上图Protocol,弹出下图对话框,按实际要求设置通信基本参数;6、点击上图Transmission翻页,弹出下图对话框,不作改动;7、点击上图Receiving Data翻页,弹出下图对话框,不作改动;8、点击上图interface翻页,弹出下图对话框,配置成下图所示;四:程序移植后当前工程项目涉及到的STEP7软件编程1、下图所示的程序中,当鼠标停留在FB171或FC190相应管脚上时,会有中文提示弹出,FB171为主站功能块,其中DB171是其背景数据块,FC190为主站命令配置块,主站所有实施的工作内容由一系列配置好参数的FC190来实施;2、FB171管脚说明:License1、License2:H系统或软冗余系统,分别填上对应于这两个CPU的授权号;CLOCK_CPU:与CPU的硬件组态中CLOCK的设定需一致;LADDR1、LADDR2:CP卡的地址,在一对一通信时值设为一致,二对一Y型CP卡冗余通信时值分别为两块CP卡的地址;CP1_Type、CP2_Type:分别对应于上述LADDR1、LADDR2地址的CP卡类型,1为CP340,2为CP341;CP_Err_TmSet:二对一Y型CP卡冗余通信时的切换条件,为时间设定(秒),默认值30,表示当前CP卡若持续30秒不能接收到任何从站的信息,则切换至另一块CP卡;DBInstNo:FB171所对应的背景数据块号;PollNum:轮询命令的条数,也就是执行轮询设置的FC190的数量,在示例程序中FC190的pollNO管脚值从1~8共有8条,因此FB171的PollNum管脚也设为8;PollTime:执行轮询时当从站异常时的最大等待时间(单位为CPU 扫描周期数);WrtNum:随机操作命令的条数,也就是执行随机操作设置的FC190的数量,在示例程序中FC190的WrtNO管脚值从1~8共有8条,因此FB171的WrtNum管脚也设为8;WrtTime:执行随机操作时当从站异常时的最大等待时间(单位为CPU扫描周期数); RcvDBB_Num:系统内定值为92,不得修改;SndDBB_Num:系统内定值为352,不得修改;DB0xxxxI:管脚需空置;DB0_LenI:管脚需空置;DB1xxxxI:管脚需空置;DB1_LenI:管脚需空置;DB3xxxxI:管脚需空置;DB3_LenI:管脚需空置;DB4xxxxI:管脚需空置;DB4_LenI:管脚需空置;ComType:管脚需空置;SndAddrI:管脚需空置;SndFnCodeI:管脚需空置;SndBegI:管脚需空置;SndNumI:管脚需空置;DB_Rcv:与FB171背景数据块有关,若背景数据块为DB171,则设为DB171.Rcv; DB_Snd:与FB171背景数据块有关,若背景数据块为DB171,则设为DB171.Snd;3、FC190管脚说明:DBInstNO:指定FB171的背景数据块号,示例程序中背景数据块为DB171,因此设为171;PollNO:轮询命令的序号,当与FB171的不断循环递增的当前序号相同时,本条命令被发出;WrtNO:随机操作命令的序号,当FB171的背景数据块中对应的随机操作位被置1时,本条命令被发出,随机操作命令的序号与FB171的背景数据块中对应的随机操作位是一一对应的关系,随机操作命令优先级高于轮询操作;DataDBNum:此条命令所对应的数据存取DB块;SndAddr:此条命令所对应的从站地址;SndFnCode:此条命令所对应的功能码;SndBeg:此条命令所对应的起始地址(偏移量);SndNum:此条命令所对应的需操作的数据量;4、示例程序中8条FC190轮循命令的解释:轮循命令时功能码为4,读取一个或多个输入寄存器:--》当FB171的轮询值管脚PollVal(与FC190的管脚PollNO=1 对应)等于1时,读取11#从站30001~30040计40个输入寄存器,读取到的数据放入到DB13中,对应于DB13.DBW0~DB13.DBW78;轮循命令时功能码为3,读取一个或多个保持寄存器:--》当FB171的轮询值管脚PollVal(与FC190的管脚PollNO=2 对应)等于2时,读取11#从站40001~40040计40个保持寄存器,读取到的数据放入到DB14中,对应于DB14.DBW0~DB14.DBW78;轮循命令时功能码为2,读取一个或多个输入状态:--》当FB171的轮询值管脚PollVal(与FC190的管脚PollNO=3 对应)等于3时,读取11#从站10001~10040计40个输入状态,读取到的数据放入到DB11中,对应于DB11.DBX0.0~DB11.DBX4.7;轮循命令时功能码为1,读取一个或多个线圈状态:--》当FB171的轮询值管脚PollVal(与FC190的管脚PollNO=4 对应)等于4时,读取11#从站00001~00040计40个线圈状态,读取到的数据放入到DB10中,对应于DB10.DBX0.0~DB10.DBX4.7;轮循命令时功能码为16,写一个或多个保持寄存器:-》当FB171的轮询值管脚PollVal(与FC190的管脚PollNO=5对应)等于5时,将DB24中DB24.DBW120~DB24.DBW158计20个字的数据写至12#从站保持寄存器40061~40080;轮循命令时功能码为15,写一个或多个线圈:-》当FB171的轮询值管脚PollVal(与FC190的管脚PollNO=6 对应)等于6时,将DB20中DB20.DBX7.4~DB20.DBX9.7计20个位的数据写至12#从站的线圈00061~00080;轮循命令时功能码为6,写一个保持寄存器:-》当FB171的轮询值管脚PollVal(与FC190的管脚PollNO=7 对应)等于7时,将DB24中DB24.DBW120中的数据写至12#从站保持寄存器40061,SndFnCode为6时SndNum的值可为任意;轮循命令时功能码为5,写一个线圈:-》当FB171的轮询值管脚PollVal(与FC190的管脚PollNO=8 对应)等于8时,将DB20中DB20.DBX7.4的数据写至12#从站的线圈00061,SndFnCode 为5时SndNum的值可为任意;5、示例程序中8条FC190随机操作命令的解释:随机操作时功能码为4,读取一个或多个输入寄存器:--》当(某一条件)将FB171的背景数据块中DB171.DBX1404.0(与FC190的管脚WrtNO=1对应)的值置1时,立刻从轮循模式切换至随机操作模式,发出命令读取12#从站30001~30040计40个输入寄存器,并自动将DB171.DBX1404.0的值复位为0,读取到的数据放入到DB23中,对应于DB23.DBW0~DB23.DBW78,读取完毕恢复至轮循模式;随机操作时功能码为3,读取一个或多个保持寄存器:--》当(某一条件)将FB171的背景数据块中DB171.DBX1404.1(与FC190的管脚WrtNO=2对应)的值置1时,立刻从轮循模式切换至随机操作模式,发出命令读取12#从站40001~40040计40个保持寄存器,并自动将DB171.DBX1404.1的值复位为0,读取到的数据放入到DB24中,对应于DB24.DBW0~DB24.DBW78,读取完毕恢复至轮循模式;随机操作时功能码为2,读取一个或多个输入状态:--》当(某一条件)将FB171的背景数据块中DB171.DBX1404.2(与FC190的管脚WrtNO=3对应)的值置1时,立刻从轮循模式切换至随机操作模式,发出命令读取12#从站10001~10040计40个输入状态,并自动将DB171.DBX1404.2的值复位为0,读取到的数据放入到DB21中,对应于DB21.DBX0.0~DB21.DBX4.7,读取完毕恢复至轮循模式;随机操作时功能码为1,读取一个或多个线圈状态:--》当(某一条件)将FB171的背景数据块中DB171.DBX1404.3(与FC190的管脚WrtNO=4对应)的值置1时,立刻从轮循模式切换至随机操作模式,发出命令读取12#从站00001~00040计40个线圈状态,并自动将DB171.DBX1404.3的值复位为0,读取到的数据放入到DB20中,对应于DB20.DBX0.0~DB20.DBX4.7,读取完毕恢复至轮循模式;随机操作时功能码为16,写一个或多个保持寄存器:--》当(某一条件)将FB171的背景数据块中DB171.DBX1404.4(与FC190的管脚WrtNO=5对应)的值置1时,立刻从轮循模式切换至随机操作模式,发出命令将DB14中DB14.DBW120~DB14.DBW158计20个字的数据写至11#从站保持寄存器40061~40080,并自动将DB171.DBX1404.4的值复位为0,操作完毕恢复至轮循模式;随机操作时功能码为15,写一个或多个线圈:--》当(某一条件)将FB171的背景数据块中DB171.DBX1404.5(与FC190的管脚WrtNO=6对应)的值置1时,立刻从轮循模式切换至随机操作模式,发出命令将DB10中DB10.DBX7.4~DB10.DBX9.7计20个位的数据写至11#从站的线圈00061~00080,并自动将DB171.DBX1404.5的值复位为0,操作完毕恢复至轮循模式;随机操作时功能码为6,写一个保持寄存器:--》当(某一条件)将FB171的背景数据块中DB171.DBX1404.6(与FC190的管脚WrtNO=7对应)的值置1时,立刻从轮循模式切换至随机操作模式,发出命令将DB14中DB14.DBW120中的数据写至11#从站保持寄存器40061,并自动将DB171.DBX1404.6的值复位为0,操作完毕恢复至轮循模式,SndFnCode 为6时SndNum的值可为任意;随机操作时功能码为5,写一个线圈:--》当(某一条件)将FB171的背景数据块中DB171.DBX1404.7(与FC190的管脚WrtNO=8对应)的值置1时,立刻从轮循模式切换至随机操作模式,发出命令将DB10中DB10.DBX7.4的数据写至11#从站的线圈00061,并自动将DB171.DBX1404.7的值复位为0,操作完毕恢复至轮循模式,SndFnCode为5时SndNum的值可为任意;6、FB171的背景数据块主要内容 (以DB171为例):。
cp341(rs422/rs485)模块与5块仪表通
讯??
现在有一个cp341模块与5块仪表通讯,cp的驱动和硬件狗都有,现在就是想问一下是用什么协议做程序?是rtu 主站吗?5各仪表都有rs485通讯的模块,这5各仪表串联连接到cp341的模块上,然后用fb7和fb8编写程序就可以了吗?这样就能采集到各个仪表的显示数值吗?
问题补充:
仪表那边设置波特率和站地址!别的就没有什么可以设置的吧!把几块表手拉手连接起来,通过cp341的15针口通讯!4负11正的接法!这样通过ascii协议来走就行了吧?
最佳答案
rs485通信,一个主站cp341,多个从站仪表,将设备手拉手连接起来,通过写cp341的程序来读取从站数据,要求一个站一个站地读,即先1#,完成后再2#,依此类推,这样就可以把仪表的数据都读上来了!
要通过调用fb7和fb8编写程序
如果仪表支持modbus,那么才需要用狗,这样才用的是modbus协议,相对上面的比较方便一些,但道理是一样的,也是一个站一个站地轮询!。
C P341使用方法-CAL-FENGHAI.-(YICAI)-Company One1CP341 使用方法CP341做Modbus 主从站为什么需要狗(Dongle)悬赏分:5- 解决时间:2010-11-8 19:12怎么使用啊是不是把这个硬件狗插到CP341上面啊问题ID: 60457提问者:LiXiang - 资深学长第3级最佳答案CP341有485和232的,485支持多个站点通信,当中只能也必须有一个主站,主站发出命令报文,报文包括从站地址,功能参数,数据,crc验证码,从站根据主站命令报文进行应答。
所以cp341如果是主站,其他的都是从站啦,cp341作为从站,主站就看你谁在和他通信啦,因为从站之间是不能互相通信的。
ASCII模式编程比较复杂,但是便宜,速度也慢。
RTU速度快,但是必须要买西门子的dongle,很贵的。
配置CP341首先需要PTP 驱动,PTP驱动将安装CP340/341编程所需的功能块,PTP驱动随CP341模块提供,也可以从以下链接下载:做MODBUS通讯需要订购MODBUS Dangle的硬件狗,Dangle会自带MODBUS主从的驱动程序,可以从西门子网上下载,加装Dongle作主站与s7-200作从站MODBUS通信实例:PtP Param + SP11“PtP-Param ”的 SP11 增加了下列特性:概述优化了 CP341-V2 (固件版本及更高版本) 的数据吞吐性能。
要利用该性能,必须通过PtP-Param + SP11 重新生成 CP341-V2 (固件版本及更高版本) 的参数化数据。
通过打印机驱动程序的参数化更正了:已交换了波特率 57600 Baud 和 76800 Baud。
现在可在 STEP7 + SP5 下无限制执行 PtP-Param (无。
提供了 CP340 手册修订版本。
提供了 CP341 手册和入门指南的修订版本。
现在提供 CP440 和 CP441 的中文手册。
亿维CP341作从站的使用教程亿维 CP341作从站的使用教程发布时间【2016-02-22】浏览次数:4841概述在现场应用中,很多仪表和设备仅支持Modbus RTU的通讯协议,第三方仪表可以作主站或从站,亿维的通讯模块CP341支持该协议,UN-200集成的口可以支持自由口通讯,通过指令库也可以方便的实现Modbus RTU通讯。
本文以UN-200作为Modbus主站,实现Modbus RTU通讯,概述两者在通讯方面的设置和注意事项。
2软件环境2.1 STEP7 v5.5用于编写300的程序,本文档中300的程序使用STEP7 v5.5的软件编写。
2.2 STEP7_PtP_V5113串行通讯模板的驱动程序,安装此驱动后才能对PtP模板进行参数设置,并在Step7中集成通讯编程需要使用的功能块。
2.3 Modbus-Slave319CP341用作Mobus从站时,需要安装此驱动协议,但安装之前必须先安装PtP Driver。
2.4 STEP 7 - MicroWIN V4.0 SP9用于UN 200编程的软件,本文档中200的程序是使用Step7 Micro/win的软件编写。
2.5 Toolbox_V32-STEP 7-Micro WIN 32 Instruction LibraryUN 200实现Modbus RTU功能,可以使用Modbus的指令库,要使用西门子的标准指令库,必须先安装指令库的软件包instruction Library,安装后,可以在Step7 Micro/WIN软件的库中找到Modbus相关的指令。
3硬件列表与接线3.1 硬件列表3.2硬件接线3.2.1接口定义UN 200的通讯口为RS485物理口(9针口),CP341是RS422/485的接口类型(9针口)UN 200CPU通讯口引脚定义CP341 RS422/485通讯口引脚定义3.2.2 接线示意图4组态设置和编程4.1 UN 200作Modbus主站的设置UN 200CPU的通讯口在电气上是标准的RS-485半双工串行通讯口,此串行字符通信的格式:1个起始位、7/8位数据位、1位奇/偶/无校验、1个停止位。
CP341轮询采集多从站实例
CP341采用自由口方式,轮询采集多从站站点。
由于程序内部采用一个FB7和一个FB8,进行收发码,所以只能更换发送缓冲区数据帧和接收缓冲区数据块,以达到轮询采集多从站的目的。
程序如下:
1、
M0.0用于触发发送命令块。
2、
3、
注意:跳转使用的是JMPN不是JMP。
当不在上下限之间时则执行下一条指令,即复位指令计数器指令。
4、复位指令计数器
把1送给MW2即复位指令计数器。
当MW2的数值超过前面规定的上下限时则进行复位。
5、
当由程序段3跳转到程序段5时,比较MW2的数值是否等于1,如果等于1,L0.0得电等
于1.则将采集第一个从站的发码指令送到发送缓冲区。
如下所示。
6、程序段6
发送第一条指令:注意使用自由口发送时应该是八个字节,使用把个MOVE指令,所以把上面四个MOVE改成8个MOVE。
7、程序段7
指定第一条指令数据接收缓冲区。
即DB4.DBD0.
8、程序段8、9、10与程序段5、6、7含义相同。
9、程序段11
10、程序段12
启动超时计时器,当M0.0得电超过设定时间时,则进行复位。
程序段14即为复位。
11、程序段13
当M0.0为0时,则让M0.0为1,给M0.0一个上升沿来触发发送指令块。
12、程序段14
复位程序段,当定时器时间到时时、当发送完毕时、当发送出现错误时,复位M0.0的触发位。
13、程序段15
接收程序块,不同的从站使用了不同的接收缓冲区。