[导读]采用PROFIBUS-DP的FCS性能研究及诊断软件开发
PROFIBUS是工业自动化领域内市场占有率最高的一种现场总线技术,它包括用于制造业自动化的PROFIBUS-DP和用于流程工业领域的PROFIBUS-PA,它是目前我国惟一的现场总线国家标准。随着越来越多工业控制系统采用了PROFIBUS现场总线技术,对这些控制系统进行具体的、直观的和实时的在线分析与诊断成为了最基本的要求,要想完成这样的任务,就需要有相应的工程分析诊断工具。国内外目前所研究的这些总线性能分析诊断工程工具存在着功能不够全面、界面不够完善、价格昂贵、不适合中国国情等问题。开发一款能够对总线系统进行分析和诊断,方便的、性能价格比高的分析诊断工程工具必将成为急需的产品。
由于在PRIFBUS传输报文可以反映出总线性能的很多参数,包括各种故障状态。比如:从参数化报文可以看出主站和从站的关系,从站的操作方式,包括通道参数、功能设定、装置参数和ID号等。从组态报文可以看出从站I/0类型及性质,以及模块的I/O性质及数据类型等。从诊断报文可以看出从站各种参数设置错误,各种组态错误,以及装置模块错误类型。所以,本文作者就是在对PROFIBUS-DP报文进行详尽分析的基础上,采用VC++ 6.0开发了一款基于串口通讯的PROFIBUS性能分析诊断软件。
1 PROFIBUS工作机理
1.1 PROFIBUS-DP编码技术
PROFIBUS-DP交换数据使用异步传输技术和NRZ编码。NRZ编码的二进制信号“0”或“1”的信号电平在信号持续期间维持不变。图1所示为NRZ码信号图。
SHAPE * MERGEFORMAT
图1 非归零码信号
每个数据链路层协议数据单元应由一定数量的字符组成,每个字符都是一个用于异步传输的起——停字符。
每个字符由11个比特组成,包括1个总是为二进制“0”的起始比特(ST),8个可以是二进制数“0”亦可以是二进制数“1”的信息比特,1个可以是二进制“1”也可以是二进制数“0”的偶校验比特(P),1个总是为二进制数“1”的停止比特,如图2所示。
SHAPE * MERGEFORMAT
图2 单个字符格式
接收器的比特同步总是从起始比特的下降沿开始,也就是说,在从二进制“1”转换到二进制数“0”时开始。在比特时间的中间应扫描起始比特和所有后继的比特。在比特时间的中间,起始比特应是二进制数“0”,否则认为同步失败并停止同步过程。以二进制“1”的停止比特来结束字符的同步,如果此时出现二进制数“0”来代替此停止比特,则应认为并报告一个同步差错或字符差错,并应等待下一个起始比特的前导沿。
1.2 报文格式
如图3所示,PRFIBUS-DP有以下5种报文格式。其中,SYN为同步周期,它是一个最小的时间间隔,在此时间间隔内,每个站在它可以接收发送/请求报文帧或令牌起始部分之前,应从传输介质接收空闲状态(idle state)(idle=二进制“1”)。同步周期最小为33个线空闲比特;SD为起始定界符,DA是目的地址,SA是源地址,FC是控制帧;FCS是帧校验和,ED为结束定界符,值为16h,L是信息字段长度,其中SD1= 10h,用于请求FDL状态,寻找一个新的活动的站点,报文长度固定,没有数据单元;SD2= 68h,用于SRD服务,报文的数据长度可变;SD3 = A2h,数据单元长度固定(L总为8字节);SD4 = DCh,表示该报文为令牌报文;SC =E5h, 短确认报文。
SHAPE * MERGEFORMAT
[!--empirenews.page--]
图3 PROFIBUS—DP链路层报文格式
2 报文诊断软件的实现
2.1 实验平台
图4为作者组建的PROFIBUS-DP网络实验系统结构图。在网络系统中,1类主站为SIEMENS公司的CPU315-2DP PLC,PC工控机作为2 类主站,通过现场总线接口卡CP5611与DP 总线相连, WAGO公司的750-333、BECKHOFF公司的BK3120、SIEMENS公司的ET200-L及和利时公司的LM3107 PLC等PLC设备作为从站连接到DP网络中。
SHAPE * MERGEFORMAT
图4 PROFIBUS-DP网络实验系统结构图
2.2 软件开发环境
软件开发工具为VC++6.0,通过计算机标准串口通信,将PROFIBUS—DP报文采集到上位机进行处理。PROFIBUS-DP系统作为实验平台,采用RS485/RS232通信电缆将其RS485的一端接入PROFIBUS-DP网络连接器的背插接口,RS232一端直接接入到PC机的串口。
2.3 软件系统基本程序框图
软件系统的程序基本架构流程图如图5所示。
SHAPE * MERGEFORMAT
图5基本程序框架流程图
整个系统软件包括如下几个模块:
1)程序主控模块:负责实现程序逻辑与主界面,调用串口通信模块和接收显示模块。
2)串口通信模块:负责实现串口通信任务,PROFIBUS-DP报文数据采集及串口参数设置。
3)数据处理模块:根据PROFIBUS-DP协议报文格式,将采集上来的数据按报文格式进行处理,并存入临时缓冲区。
4)接收显示模块:负责实现接收数据的处理与显示。
5)数据库模块及数据查询模块,用来实现对采集到报文的历史数据的分析和查询。[!--empirenews.page--]
2.4 关键技术
该软件主要是实现对PROFIBUS报文进行提取,实现在线采集PROFIBUS-DP报文数据,从数据链路层角度对各种报文进行分析,完成各种类型报文的显示,完成对报文种类、服务类型、地址、数据长度及数据单元等信息的提取显示,并对诊断报文、参数化报文及组态报文等的数据单元进行详细的分析,得出总线性能的各种参数及故障原因,将分析过的数据存储进数据库,存入临时缓冲区,根据需要将分析过的报文信息存入数据库,实现历史查询。
如何实现报文帧的提取是本软件设计的一个关键问题。由于PROFIBUS报文格式有很多种,而且包括数据长度不固定的可变报文。虽然各种报文都具有固定的报头、报尾,但是存在的问题是报头报尾并不是特定的字符,有可能和报文中数据单元内容一样,所以这里利用报头报尾进行报文的提取是不可行的。作者在这里利用各种报文帧前的同步字符进行报文提取,也就是说,在每个完整报文帧传输之前,其前面都有一个不小于33bit的同步时间,在报文帧中间是没有任何间隔的,利用这一同步时间,在VC++中利用超时函数,对报文帧进行了完整地提取。
另外,由于通信数据量很大,速度较快,这里采用了WINDOWS多线程技术。一个线程为监视线程,监视串口通讯,一个为数据处理主线程,另外一个为定时刷新数据库线程。当监视线程监视到串口中有数据到达时,就触发一个消息通知数据处理主线程,数据处理主线程就去串口缓冲区中取出数据,并进行数据处理。定时器线程定时刷新数据库显示,以实现实时显示功能。
作者在程序编写的过程中,出现数据库不能实时刷新的情况,后来发现问题出在WINDOWS的WM_TIMER定时器上,由于该定时器消息优先级较低,可能造成WM_TIMER消息的丢失,所以不能实现数据库的实时刷新。解决的方法是采用WINDOWS的多媒体定时器。在使用多媒体定时器的过程中,定时间隔的选取又是一个关键的问题,定时间隔选取太小,将会耗费大量的CPU内存,造成系统“死机”, 定时间隔选取太大,又不能完成“实时”显示功能。这里又涉及到PROFIBUS总线信息循环时间的问题,总线信息循环时间与总线传输的波特率、从站的数量、I/O数据的数量、从站需要的延迟时间以及主站的空闲时间等有关。作者通过了大量的计算和多次实验调试,寻找到一个合适的定时器间隔。
2.5 显示界面
该PROFIBUS-DP报文分析软件的程序界面包括主界面、串口配置界面、报文过滤界面、报文查询界面、数据库存储界面以及历史查询界面等。
PROFIBUS-DP分析诊断软件的运行主界面如图6,窗口左上部分“当前profibus报文”组框内存放最近采集到的PROFIBUS-DP报文信息,并可通过工具栏上的记录移动按钮滚动察看记录;右上方“信息面板”是用来显示所有查看报文的详细信息。窗口下半部分以网格形式显示PROFIBUS-DP历史信息。
若需要打开串口,开始接收PROFIBUS报文信息,则可选择“命令”菜单下的“开始接收”项;若需停止接收PROFIBUS报文信息,则可选择“命令”菜单下的“停止接收”项;若需要配置串口参数,则可选择“命令”菜单下的“串口配置”项,此时将弹出“串口配置对话框”,若需清除当前所有记录,可选择“记录”菜单下的“清除所有记录项”命令,如果需要分类查看各种报文,可以选择“查看”命令菜单下的“报文查询”,此时将弹出“报文查询对话框”,可根据需要进行报文分类查看。
图6 软件运行主界面
3 结束语
该软件经过作者在PROFIBUS网络实验系统上的反复运行调试,结果表明该软件能够实现对几种PROFIBUS报文进行分析,能够完成采集、显示、分析、存储和查询等功能,为以后的研究开发奠定了基础,同时具有一定的实用价值。
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
上海2022年10月14日 /美通社/ -- 近日,上海安势信息技术有限公司的清源SCA工具在腾讯成功部署。 开源软件在促进全球的技术创新方面发挥着越来越重要的作用,企业越来越依赖开源软件来加速开发与创新,根据 Gar...
关键字:
开源
开源软件
组件
数据库
SQLite是一个跨平台的轻量级数据库,支持C/C++开发,可用于嵌入式中,关于C/C++使用SQLite的简单实例,可参考这篇:“玩转SQLite6:使用C语言来读写数据库”,本篇来继续介绍SQLite的基础运算符与表...
关键字:
SQLite
C语言
数据库
该统一硬件提供灵活的容量,既可为硬件验证提供更快的编译,又可为软件开发提供更佳的性能 加利福尼亚州山景城2022年9月27日 /美通社/ -- 新思科技(纳斯达克股票代码:SNPS)近日宣布推出业内首款基于其ZeBu&...
关键字:
芯片
硬件仿真
新思科技
软件开发
北京2022年9月26日 /美通社/ -- 近期,TDengine 云服务正式上线海外市场,它是基于流行的开源时序数据库(Time Series Database) TDengine 打造的快速、弹性、Serv...
关键字:
ENGINE
AWS
云服务
数据库
计算机网络编程中一个非常基本的问题:该怎样表示client与server之间交互的数据,在往下看之前先想一想这个问题。
关键字:
计算机
二进制
北京2022年9月23日 /美通社/ -- 亚马逊云科技宣布将进一步推动云原生数据库服务在汽车、制造、金融等传统行业中的应用,帮助企业打造数字化转型的新基建。随着越来越多传统行业企业迁移上云,具有高性能、高可用性和可伸缩...
关键字:
亚马逊
数字化
数据库
新基建
打造医药流通行业数字化转型标杆:成为国内医药流通行业首家全面迁移至公有云的企业,拓展医疗健康产业新方案和新机遇 北京2022年9月8日 /美通社/ --亚马逊云科技宣布与国内医药流通行业领军企业瑞康医药签署战略合作协议...
关键字:
亚马逊
数据库
TI
BSP
(全球TMT2022年9月8日讯)近日,成都索贝数码科技股份有限公司(以下简称"索贝")再拓信创新生态 -- 索贝自主研发的Ficus Pi大数据平台、Vernox融合据库被收录进信创工委会产品图谱...
关键字:
数据库
大数据
PI
IC
北京2022年9月8日 /美通社/ -- 作为"十四五"发展目标的重要抓手、网络强国战略的焦点,以信息技术为主导的新一轮科技革命和产业变革正在加速演进,信创产业将在助力我国数字化转型、维护信息技术安全...
关键字:
数字化
大数据
数据库
IC
区块链是一种分布商业模式,是互联网新生代产品,可以理解为全中心体系,链上的每个节点都可认为是一个中心。
关键字:
区块链
人脸图像信息
数据库
摘要:连铸钢水过热度是炼钢生产的重要指标,现主要介绍一套连铸钢水过热度系统管理软件的开发和应用,该软件是在宣钢二钢轧厂使用的连铸过热度数据采集、查询、统计管理系统软件,该软件基于windowS窗体和数据库系统,采用C/S...
关键字:
过热度
C/S
数据库
(全球TMT2022年8月16日讯)企业级开源时序数据库厂商涛思数据正式发布 TDengine 3.0。TDengine 3.0 是真正的云原生时序数据库(Time Series Database),重构了分...
关键字:
ENGINE
开源
数据库
时序数据
北京2022年8月16日 /美通社/ -- 2022 年 8 月 13 日,领先的企业级开源时序数据库厂商涛思数据正式发布 TDengine 3.0。TDengine 3.0 是真正的云原生时序数据库(Time Seri...
关键字:
时序数据
ENGINE
开源
数据库
摘要:创造性地将"通用双公式"模型嵌入到纤维缠绕层网格理论中,解决了因传统网格理论无法准确模拟纤维纱片在高纬度球壳处的重叠现象而带来的纤维层结构设计安全裕度大、结构效率低的问题。基于新方法理论,以球形复合材料气瓶为例,分...
关键字:
球形COPV
纤维缠绕层结构设计
软件开发
为粤港澳大湾区数字经济腾飞贡献 AI 力量 广州2022年8月2日 /美通社/ -- 7月29日,广州墨奇科技有限公司开业庆典暨合作签约仪式在广州归谷科技园举行。设立广州公司,是墨奇科技布局粤港澳大湾区的重要举措。墨奇...
关键字:
AI
数据库
智慧城市
数字经济
上海2022年8月1日 /美通社/ -- 信创是指信息技术应用创新,而信创产业的发展不仅关乎国家信息的安全可控,也是推动中国经济数字化转型的必然选择。近年来,企业数字化转型不断深入,人力资源管理所面对的挑战也逐渐复杂。随...
关键字:
数字化
数据库
信息技术
软件
深圳2022年8月1日 /美通社/ -- 近日,深圳市人力资源和社会保障局(简称"深圳市人社局")授予东信博士后创新实践基地牌匾,东信董事长/CEO刘杨亲自为博士后创新实践基地挂牌,核心技术...
关键字:
SAAS
BSP
CE
数据库
(全球TMT2022年7月28日讯)作为重庆市的"母城",渝中区是成渝地区双城经济圈联动、拓展的重要都市级核心。渝中区大数据局携手浪潮卓数,以数据为核心,以智能中枢为底座支撑,构建以"1+4+N"为架构的基层智慧治理平...
关键字:
互联网+
大数据
数字化
数据库
(全球TMT2022年7月22日讯)近日,TUV北德在比亚迪汽车工业公司(简称“比亚迪”)总部六角大楼向比亚迪颁发ASPICE L2级评估证书。ASPICE 全称为“Automotive Software Proces...
关键字:
SPICE
比亚迪
汽车
软件开发
- 此举加强了A2MAC1通过软件工程和对标解决方案来提供具有竞争力的洞察的能力,并深化了集团的软件工程和对标专长 巴黎2022年7月21日 /美通社/ -- effution是一家服务众多行业的软件工程和对标公司,由...
关键字:
MAC
TI
IO
软件开发