- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FTO系统数据通信处理分析(共2350字)
FTO系统数据通信处理分析(共2350字)
1技术方案
1.1传统通信方式
S7-300PLC采用CP341进行数据通信,CP341应用最多的是ModbusRTU通信方式。ModbusRTU通信协议采取主从模式:由主站发出数据操作请求,从站进行响应。整个网络可以有多个从站,但是必须有且只有一个主站。若主站不发出数据操作请求,则所有从站保持静默状态。PLC在ModbusRTU模式中一般作为从站响应上游的DCS主站请求。为保证FTO系统现场控制盘内的PLC与DCS主站通信成功,首先要确定从站能辨识主站的查询请求,其次要保证从站响应主站的报文格式正确,应符合Mod-busRTU标准格式。
1.2程序结构流程
在FTO系统的就地PLC与DCS主站通信中,采用软件结构化编程模拟传统的硬件通信模块固化的程序流程,主要的程序模块有:OB1———主程序,程序组织块,用于启用主程序;OB80———程序组织块,用于报告系统运行错误号;OB121、OB122———程序组织块,用于程序容错处理,防止PLC死机;FB7———子程序,程序功能块,用于从总线上接收主机的请求数据;FB8———子程序,程序功能块,用于把从站数据发送到总线上,以响应主机的请求;FB9———子程序,RTUSLAVE通信主程序。
1.3具体实现
程序组织块OB80、OB121、OB122可直接从Step7中调用。CP341用功能块FB7“P_RCV_RK”和FB8“P_SND_RK”分别从通信总线上接收和发送通信数据。在本通信程序中被主程序FB9调用。FB9是RTUSLAVE通信主程序,用于运行中的程序流程,由其调用FB7、FB8、FC10和FC12。起始时,FB9调用FB7从总线上接收主站请求的报文,通过解析报文的第一字节内容(从站地址),判断地址是否与本从站一致,若不一致则直接丢弃此报文,继续监测总线数据;若报文请求地址与本从站地址一致,则调用FC12子程序对报文进行CRC16校验,若校验失败则说明报文有误,直接丢弃报文;若校验通过,则继续解析此报文请求的第二字节(功能码),按功能码的请求分别转到对应的程序段执行;执行相应的请求功能后,调用FC10进行数据移动整理,并再次调用FC12对响应后的数据进行校验,并将校验码附加到响应数据的最后两个字节作为响应报文,调用FB8发送到总线供主机接收。通信程序的容错机制采用CRC16校验。CRC16校验程序由于要对通信的所有数据进行逐一字节的运算,因此极其耗费CPU运算资源,经实验,采用PLC内置硬件模块处理的通信数据量达到256Byte后CPU运算时间大于扫描周期时间的概率大为增加,容易导致通信错误和CPU死机。为了不使计算时间超出PLC的最大允许扫描时间,笔者设计将计算一串数据的CRC16校验码任务分散到各PLC周期中去。具体做法是:每个扫描周期只进行一个字节的通信数据CRC16校验计算,一串通信数据则依字节数分散到多个周期去做,设置一个全局变量存储当前的CRC16检验码值,每个周期在当前CRC16校验码值的基础上继续下一个字节的计算,得到新的CRC16校验码值,当一串数据全部计算完毕后,当前CRC16校验码值即最终值。CRC16单个字节校验编程的具体实现步骤如下:
a.设置CRC寄存器,并给其赋值FFFF(hex);
b.将待校验数据(起始位、停止位不参加计算)的第一个字节与16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器;
c.CRC寄存器向右移一位,MSB补零,移出并检查LSB;
d.如果LSB为0则重复c,若LSB为1就把CRC寄存器与A001H相异或;
e.重复c与d直到8次移位全部完成,此时该字节数据处理完毕;
f.重复b~e直到所有数据全部处理完成;
g.最终CRC寄存器的内容即为CRC值。FB9、FC10和FC12是通信程序核心,也是此方法的主要源代码内容。此程序代码实现的ModbusRTU支持的功能码为01、02、03、04、05、06、15和16。
2应用结果
FTO系统中数字量为298点,模拟量为163点,单回路8个,复杂控制回路4个。为保证PLC的运行实时性,设置其极限循环扫描时间为150ms。对3种通信方式进行对比,软件单次扫描循环方式是将通信过程中计算量最大的CRC校验计算在一个扫描周期内运行,运行时间为198ms,远超出了PLC极限循环扫描时间,引起CPU停机;采用传统的硬件通信模块时,扫描时间为142ms,比较接近150ms的极限,若考虑到模拟量控制回路运行时间的不确定性,则复杂工况下,也存在导致CPU停机的风险;利用多个扫描周期来计算CRC校验码值的方式,每次循环只要89m
您可能关注的文档
最近下载
- (2025秋新版)部编版八年级语文上册全册教案.pdf
- 《建筑装饰装修涂料与胶粘剂有害物质限量》.docx
- 三级医院评审应急预案系列10感染性病原体职业暴露应急预案附流程图.pdf VIP
- 国开(SC)-电气安全技术-第三次形考作业-学习资料.docx VIP
- 含有共晶组织的NiCoMnSn哈斯勒合金体系及其设计与制备方法.pdf VIP
- 人口老龄化对企业数字化转型的影响研究.pdf VIP
- 2025年内蒙古自治区入团考试题库(含答案详解).docx VIP
- 广播电视中心工程施工组织设计(框架核心筒结构 鲁班奖).docx VIP
- 部编版八年级语文上册教学设计.docx VIP
- CSGO主题PPT课件教学课件.pptx
原创力文档


文档评论(0)