

英语原文共 108 页,剩余内容已隐藏,支付完成后下载完整资料
窗体顶端
2通讯功能块建模的原则
2.1建模原则
对于通讯功能块的建模应满足以下原则:
bull;以适应现有的PLC系统,例如使用存在的寻址概念
bull;有效率和无耗费;这意味着该模型应该以业绩为导向
bull;使一个简单的应用程序在不同的PLC系统之间移植
bull;对于不同类型的IO通信子系统使用的通用接口
尤其是支持使用PROFIBUS DP和PROFINET IO的
bull;使用直接现有的PROFIBUS DP或PROFINET IO功能,即如果可能,一个
通讯功能块应包含一个服务。
bull;应用良好的编程风格是避免对硬件配置的依赖,例如在应用程序的寻址数据。
2.2 IEC 61131-3的PROFIBUS通讯和功能块的设备代理
有作为主控制器PLC各种可能性的程序(DP主站分别为Class 1和IO控制器)来访问远程模块和现场设备(分别为DP从站和IO设备)中的数据:
bull;在PLC中一个典型的解决方案是“循环访问”通过所谓的过程图像远程输入和输出。在应用程序中这些偏远变量用于像本地I / O这样的变量。通过现场总线的数据交换发生周期性得变化。这些变量被独立地传送到应用程序的执行中,并且被映射到过程映像中。
bull;在本说明书中定义了一套通讯功能块,例如通过读写记录实现通过在PLC中应用程序触发的数据传输。
图2显示了在PLC中的IEC 61131-3应用程序中的现场设备中的代理功能块的一个实例。该设备特定代理的功能块表现出现场设备的输入和输出参数。里面的代理FB
标准化的通讯功能块使用标准的Profibus协议设备的数据来提供读写访问现场。
2.3图书馆的概念和程序移植
图3显示出了具有标准化的通信功能块的两个PLC系统。
PLC系统A 和B的厂商根据IEC 61131-3提供了自己的编程系统,同时提供其与通讯功能块自己的库定义在这个PNO规范。这些通信功能块具有相同的接口和功能,但专门为实现不同的PLC系统和IO子系统。
通讯功能块可以被应用程序员还可以被现场设备制造商用于建立特定的代理FB。
PLC制造商可以基于现场总线配置文件提供了标准化的代理FB库和具有通信功能的模块,以满足应用开发领域设备整合功能和支持访问现场设备维护和诊断功能。
如图2两种不同的现场设备制造商C和D可以提供具体的代理功能块C和D通过Profibus连接到A和B的PLC系统的一个应用来支持他们的现场设备,设备制造商使用标准化通信功能块,以便他们代理FB可执行于不同PLC系统。他们可以使用所需的PLC库的标准通讯功能块来申请实施相同的代理FB。
PLC系统A和B的应用程序员可以使用特定的代理FB C和D以及基本的通讯功能块。
应用程序用同样的IEC 61131编程语言和标准化的通讯功能块以及代理FB可以轻松地将PLC系统A移植到B。
2.4映射到IEC 61158
通讯功能块分别映射到符合IEC61158-6类型3(PROFIBUS DP)和IEC61158-4类型10(PROFINET IO)中定义的对象和服务。
2.5映射到功能和功能块
写在IEC 61131-3语言应用程序,并利用通信函数功能块建模来完成IO子系统连接到PLC现场设备之间的通信。该规范定义了循环和非循环的数据访问的通讯功能块。功能和功能块类型的接口的表示是根据IEC 61131-3以图形和文本形式给出。
EN输入和ENO输出在循环功能块所声明的图示中给出。这些参数是可选的,并根据IEC 61131-3,2.5.1.2章调用FUNC-化模块实例时,可以省略。
功能块的行为能被看做为用于转换和动作表的图形状态图。
2.6参数
根据表1的数据类型:具有相同或类似的意思的不同的通讯功能块的参数应具有相同的名称。
表1 - 通信FB参数
|
参数 |
数据类型 |
含义 |
|
EN |
BOOL |
启用 |
|
ENO |
BOOL |
启用输出 |
|
REQ |
BOOL |
请求功能 |
|
ID |
DWORD |
现场设备或它的时隙或子槽的识别 |
|
INDEX |
INT |
一个过程数据对象的识别符 |
|
OFFSET |
INT |
算的IO数据对象内的第一字节 |
|
LEN |
INT |
过程数据记录的实际数据长度 |
|
DONE |
BOOL |
该功能已成功完成标志 |
|
VALID |
BOOL |
标志,该功能已成功完成与接收到的输出数据是有效的 |
|
BUSY |
BOOL |
标志该功能会继续完成其任务,它不是准备执行新的任务 |
|
ERROR |
BOOL |
该功能已以错误结束标志 |
|
STATUS |
DWORD |
完成或错误代码 |
该功能和功能块可以根据IEC 61131-3和2.5.1.2章使用EN输入和ENO输出。
在IO数据对象中,过程数据记录,报警和诊断信息通过通讯功能块由输入输出参数给出。通常,这些数据可以被描述为字节的阵列。字节阵列的长度可以从通信功能块的一个实例变化到另一个实例。如果所使用的结构化数据是被构造过的这也是可能的。
该INDEX输入反映了一个数据记录过程,LEN参数包含一个数据记录过程的长度。
说明:尽管在IO子系统中的参数值范围可以覆盖0..65535,但INT数据类型能用于INDEX和LEN参数。INT数据类型可以被所有PLC实支持,但更好的拟合UINT并不总是被支持。在0..32767取值范围内几乎足以满足所有应用。数据类型为INT的已经被这本PNO准则版本1.20所使用,这是它保持兼容性的原因。然而一个INDEXgt; 32767可以由负数或十六进制常量在接口上给出。
ANY数据类型允许使用不同长度的字节数组,利用结构化数据类型作为用于IO数据对象的缓冲区,就像处理的数据记录、警报和诊断信息,或不同地址的数据结构的缓冲区。用户应使用包含所希望的信息的适当大小的变量。如果他可以检测到给定的变量不适合所请求的服务,那么实施者可能导致错误。
DONE和ERROR的输出脉冲只来自COM-通信功能块实例的一次调用。
FB参数使用的是被广泛的PLC支持,并包含于PLCopen的便携性水平内的IEC 61131-3中的这些数据类型。
2.7概念错误
通讯功能块指示是否已成功执行所请求的功能(块)。误差指示通常用于两个目的:
1.改变反应的过程,即实现一个在其他时间或其他地方发生的替代反应的重复请求来中止进程任务。
2.由应用程序或PLC自动地发出报警信息到HMI系统
注:在1的情况下只有极少数不同的依赖于指定的误差的反应是典型的。详细的错误信息几乎不被利用。
如果通讯功能块直接映射到一个IEC61158-6的服务原语,那么所使用的服务原语的错误指示也作为功能块的错误指示。该Function_Num字节,ERROR_CODE字节,ERROR_CODE1字节,ERROR_CODE2字节的DP服务原语与STATUS输出相结合,。
STATUS输出具有如下表所述解释成被打包为四个字节的数组的数据类型DWORD。
表2 - 输出状态的结构
|
字节 |
名称 |
定义 |
数据类型 |
|
|
0 |
Function_Num |
包含功能代码/ ERROR_CODE,PDU标识符和帧选择 |
字节 |
|
|
1 |
Error_Decode |
定义ERROR_CODE_1和Er-ror_Code_2的含义,见表3 |
字节 |
|
|
2 |
Error_Code_1 |
见表4 |
字节 |
|
|
3 |
Error_Code_2 |
具体实施者 |
字节 |
|
注释:错误代码2只应用于作为以错误解码字节和错误代码1字节来定义的详细错误,例如一个协议分析器的使用或其它诊断装置。
在IEC61158-6和IEC61158-4中分别定义使用Function_Num字节。如果没有使用协议,元素值16#40应该被使用。
错误解码字节定义了ERROR_CODE1和2 ERROR_CODE的意思。
表3 - ERROR_CODE值
|
错误代码 |
资源 |
含义 |
|
16#00 .. 16#7F |
PLC |
没有错误或警告 |
|
16#80 |
DP V1, PNIO |
根据IEC 61158的错误报道 |
|
16#81 |
PNIO |
根据IEC 61158的错误报道 |
|
16#82 ..16#8F |
PLC |
18#8X报告根据通讯功能块的调用x个参数的错误 |
|
16#FE ..16#FF |
DP Profile |
特定的配置文件错误 |
通常从IO子系统产生的误差应使用16#80或16#81作为Error_Decode字节的值。它可以明确地映射到功能块码在ERROR_CODE字节中的最不重要半字节的一个参数,例如错误16#82xx意味着在参数号2中检测到错误。参数进行计数是从参数输入开始,和在功能块声明定义的输出和输出/输入参数一起继续。
注:所有通讯功能块的第一个参数是布尔型的,不能发出错误。
如果STATUS输出没有被设置为零,应该对使用的IO系统所提供的质量信息进行评价,并作为错误代码返回给STATUS输出。例如PROFINET IO中负的IOPS将导致Error_Decode = 16#90,并且IOxS的值会在ERROR_CODE 1中申明。
在功能块中用于环状I / O服务的输出例如GETIO的设置或复位发生在功能块的每一个实例中。如果它不是暂时的,在这种情况下的误差将在STATUS输出一个较长的时间里发生,。临时错误可能在应用程序里被视为不相关的。
3.2.4获取IO数据对象的一部分(GETIO_PART)
GETIO_PART功能块获取一个关联到一个现场设备中的一狭槽或子槽的输入数据的子集。
输入数据可以通过OFFSET和LEN参数在插槽或子插槽中得到处理。该GETIO_PART功能块从主机控制器接口获取输入数据而不是从现场设备中读取输入数据。功能块是由EN输入来调用。
ID参数识别现场设备和能从中读取IO数据对象的具有插槽或子插槽的现场设备。参数OFFSET和LEN解决这些IO数据对象中的单个子集。OFFSET参数包含数字中第一个要被读取的字节。槽或子槽的输入数据的计时是从0开始。LEN输入包含输入数据的长度并且以字节来读取。
如果输入数据是有效的,ENO输出被设置为1,ERROR输出被设置为0,并且输入数据被存储在在输入参数中给出的变量中。传递给输入参数变量应该是适合的尺寸,以便接收输入数据。该FB的输出参数被同步设置。
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[148140],资料为PDF文档或Word文档,PDF文档可免费转换为Word
您可能感兴趣的文章
- 饮用水微生物群:一个全面的时空研究,以监测巴黎供水系统的水质外文翻译资料
- 步进电机控制和摩擦模型对复杂机械系统精确定位的影响外文翻译资料
- 具有温湿度控制的开式阴极PEM燃料电池性能的提升外文翻译资料
- 警报定时系统对驾驶员行为的影响:调查驾驶员信任的差异以及根据警报定时对警报的响应外文翻译资料
- 门禁系统的零知识认证解决方案外文翻译资料
- 车辆废气及室外环境中悬浮微粒中有机磷的含量—-个案研究外文翻译资料
- ZigBee协议对城市风力涡轮机的无线监控: 支持应用软件和传感器模块外文翻译资料
- ZigBee系统在医疗保健中提供位置信息和传感器数据传输的方案外文翻译资料
- 基于PLC的模糊控制器在污水处理系统中的应用外文翻译资料
- 光伏并联最大功率点跟踪系统独立应用程序外文翻译资料
