笔记:看到适配器脚本Overview-V2来全面了解V2适配器脚本。
数据以MTConnect数据项.在其最基本的定义中,MTConnect数据项表示钥匙和价值对,其中键是数据项的名称,值是随时间变化的离散样本或状态值。数据项是映射到MachineMetrics上的类型,它会影响如何显示、绘制、报告或操作它。然而,在适配器脚本中,数据除了原始数据类型之外没有其他有意义的类型,比如数字或字符串。
大多数数据项都在一个名为块中声明数据项.此块是一个简单的列表,可在适配器脚本中声明应该导出到MachinImetrics的任何其他标识符。还有一个遗留版本的数据项块,允许包含命名和逻辑。
条件表示一种特殊情况,它们在名为使适应.条件携带额外的元数据,例如错误代码和消息。
数据项块
在最近的IO版本中,指定数据项的首选方法是标识符的名字。标识符是可以在表达式中引用的任何其他变量或数据源。看到表达式有关表达式和有效标识符的更多信息的文档。
在更广泛适配器脚本文档的上下文中呈现的数据项的示例:
标签:
OIL_TEMP:本地:system.oil_temperatucte
OIL_PUMP:本地:System.oil_pump_running
Coolant_temp:local:system.coolant_temperature
运行:本地:浮法玻璃
变量:
system_ready:
—表达式:oil_temp > 40, oil_pump == 1
执行:
- 状态:
—ACTIVE: running和system_ready
-准备:system_ready
- 停止:真实
数据项:
——oil_temp
- Coolant_temp.
- system_ready.
——执行
在此示例中,声明了六个标识符。四来来自一个以太网/ IP数据源,两个是适配器脚本中定义的变量。数据项块中列出了四个标识符,因此只将这些标识符发送到MachinineMetrics。
当在数据项块中列出标识符时,标识符的名称也将是发送给MachinImetrics的项目的关键名.如果您想要一个不同的键名,那么可以更改适配器脚本其余部分中的标识符名以匹配,或者定义一个具有所需名称的新变量,并将其源设置为您最初想要导出的标识符。
遗留数据项块
有一种遗留数据项格式可能会常见。与列表版本相比,能够为数据项指定精确的键名,从表达式导出值,或者根据条件列表来选择文本状态值是更重要的。虽然这显然是强大的,但是附加的富有表现力重复了变量部分的子集,并且定义通常是冗余的。例如:
数据项:
oil_temp:
价值:oil_temp
coolant_temp:
价值:coolant_temp
传统数据项定义有两个味道:值表达式和价值状态机.
价值表达式
每个数据项都有一个价值属性,它是一个表达式,可以引用适配器脚本中的一个或多个其他标识符。注意,数据项本身不是有效的标识符!看到表达式有关表达式和标识符的更多信息,请记录。
只有数据项值表达式将仅评估其中一个底层标识符已更改。如果表达式的结果与表达式的最后一次评估不同,则数据项中的更改将流到MachinImetrics。
以下是早期数据项块示例(没有执行)以遗留格式表示的一种方式:
标签:
OIL_TEMP:本地:system.oil_temperatucte
OIL_PUMP:本地:System.oil_pump_running
Coolant_temp:local:system.coolant_temperature
数据-项目:
oil_temp:
价值:oil_temp
Coolant_temp.:
价值:Coolant_temp.
system_ready:
价值:Oil_temp > 40和oil_pump == 1
假设适配器脚本中的另一个表达式不需要system_ready变量,它能够在数据项值定义中联系。冗余爬到其他定义中。
价值状态机
MTConnect中的许多数据项表示状态。例如,切割数据项可以处于开启或关闭状态。执行数据项可以处于活动,准备,非活动状态或停止状态,其中几个其他状态。为了支持这些数据项,可以指定值属性作为对象,其中每个键是适合于数据项的MTConnect状态,并且该值是表达式。
当输入标识符发生变化时,将评估每个状态表达式在写的顺序直到其中一个返回一个真值,此时状态将成为数据项的新值。如果没有其他州匹配,您可以利用此突发行为以确保结束时结束的默认状态。如果没有表达式返回true,则指定的状态值将不可用。
属性可以在变量定义中复制状态行为状态操作。
一些例子:
执行:
价值:
活跃:主轴-1或主轴-2
READY: not(纺锤-1或纺锤-2)
等价于前面的例子
执行:
价值:
活跃:主轴-1或主轴-2
准备:真
执行:
价值:
STOPPED: equalText(exec-tag, 'STOPPED')或feed-rate == 0
Active:complettext(exec-tag,'Active')
准备:真
spindle_rotating:
价值:
上:主轴-1
:不是spindle-1
条件块
条件块类似于数据项块,但特定于mtconnect.条件。它们的表示方式和行为与样本数据项有本质上的不同。
条件是描述一个或多个的数据项本机代码.每个本机代码都与描述代码所表示的条件的消息相关联。在任何给定的时间,本机代码都可以以FAULT、WARNING或NORMAL状态报告。
有几种方法可以在IO适配器脚本中定义本机代码。
简单的适配器脚本
条件:
coolant-low:
消息:冷却液水平低
价值:
故障:冷却剂 - 在<1.5
在简单的适配器脚本中,数据项上只支持一个本机代码,本机代码本身的名称是可选的。如果没有提供代码参数,则默认为数据项的名称(在本例中,冷却液 - 低)。值参数遵循上一节中值状态机描述的结构。只能指定故障和警告值,如果不满足故障或警告条件,则该值将隐式默认为正常情况。
在此示例中,当表示冷却液级别下降到1.5的输入时,适配器将发送冷却液 - 低故障,并且当输入升高到该值以上时,将取消故障。
Multi-code适配器脚本
条件:
coolant-low:
c01 -代码:
消息:冷却液水平低
价值:
警告:冷却液< 1.5和冷却液>= 1.0
——代码:二氧化碳
消息:冷却液均致力于低
价值:
故障:冷却剂 - 在<1.0
当需要多个本机代码时,必须使用YAML列表语法指定它们,其中每个块以连字符和空格开头。在这种情况下,命名本机代码的代码参数也是必须的,这些代码名称将连同消息和错误级别一起报告给MachineMetrics。
在该示例中,使用两个本机代码将冷却剂条件分成两个严重程度,分别报告为警告和故障。在冷却剂 - 低数据项下会报告这些代码。如果> =检查未存在警告表达式,则两种代码都可以同时报告其非正常状态。
有问题吗?
伸出援手support@machinemetrics.com有关其他帮助。
评论
0评论
请登入留下评论。