Connect IoT - Fuji Nexim驱动程序#
随着产品变得越来越多样化,向可变组合及可变产量生产方式的转变正在加速。对混乱的生产计划进行更改以及对机器进行频繁的更改都会导致产品出现缺陷或错过截止日期,同时还会出现其他一些难题,例如导致物料、零件和产品的库存增加。
Nexim是一个生产系统,集成了生产周期涉及的各项功能(计划、操作、检查),可提供可靠的计划支持和转换支持及灵活的数据管理,并可保持较高的运营率和质量。
数据类型#
这些是受支持的特定数据类型:
| 名称 | 描述 |
|---|---|
| 整数 | 整数 |
| 数字 | 小数 |
| 字符串 | 字符串值 |
| 布尔值 | 布尔值 |
| 日期时间 | 日期/时间值 |
| 对象 | Json格式值 |
Table: Fuji Nexim特定数据类型。
支持的功能#
FujiNexim任务包(controller-engine-fujinexim-tasks)直接支持以下任务/功能:
| 任务 | FujiNexim功能 | 描述 |
|---|---|---|
| onFujiNeximRequest、sendFujiNeximReply | BOMLIST | 物料清单列表通知 |
| onFujiNeximRequest、sendFujiNeximReply | MCSTATECHANGE | 机器状态更改通知 |
| onFujiNeximRequest、sendFujiNeximReply | PCBCHECKIN | 面板签入通知 |
| onFujiNeximRequest、sendFujiNeximReply | PCBCHECKOUT | 面板签出通知 |
| onFujiNeximRequest、sendFujiNeximReply | PGCHANGE | 计划更改完成通知 |
| onFujiNeximRequest、sendFujiNeximReply | PGCHANGEII | 计划更改完成报告II |
| onFujiNeximRequest、sendFujiNeximReply | PRODSTARTED | 生产启动通知 |
| onFujiNeximRequest、sendFujiNeximReply | PRODCOMPLETED | 生产完成通知 |
| executeFujiNeximCommand | PARTSSUPPLY | 零件供应 |
| executeFujiNeximCommand | RESTARTEQUIP | Fuji设备控制释放命令 |
| executeFujiNeximCommand | STOPEQUIP | Fuji设备控制命令 |
| executeFujiNeximCommand | SETEV | 有效事件设置通知 |
| executeFujiNeximCommand | STARTEV | 事件通知启动通知 |
| (集成在驱动程序上) | KEEPALIVE | 连接检查请求 |
Table: Fuji Nexim的预配置消息列表
下表列出了已预先配置的消息格式列表。
onFujiNeximRequest、sendFujiNeximReply和executeFujiNeximCommand任务支持在规范中添加其他消息。
异常流程参数#
异常流程支持以下参数,用于定义通信参数以及驱动程序的预期行为:
| 名称 | 类型 | 可能的值 | 默认值 | 描述 |
|---|---|---|---|---|
| 地址 | 字符串 | "0.0.0.0" | Fuji接口正在侦听的地址。 | |
| 端口 | 整数 | 0 | Fuji接口正在侦听的端口。 | |
| localAddress | 字符串 | "0.0.0.0" | 套接字应连接的本地地址。当有多个网卡可用时使用。 | |
| localPort | 整数 | 0 | 套接字应连接的本地端口。 | |
| family | 枚举 | IPV4, IPV6 | IPV4 | IP堆栈的版本可以是4或6。默认值:4. |
| keepAliveTime | 整数 | 10000 | 发送KEEPALIVE消息的时间间隔(毫秒)。 | |
| autoConfigure | 布尔值 | true | 自动配置(SETEV和STARTEV)。 | |
| machineName | 字符串 | "" | 自动配置中使用的机器名称(逗号分隔值) | |
| keepAliveTimeout | 整数 | 150000 | 中央服务器定期向主机发出连接检查请求(KEEPALIVE)(默认值:120秒)。KEEPALIVE超时(毫秒)- 从设备接收KEEPALIVE的超时时间(默认值:150秒)。 | |
| controllerRequestTimeout | 整数 | 10000 | 发送到设备的请求超时(毫秒)。 | |
| equipmentRequestTimeout | 整数 | 10000 | 发送到控制器的请求超时(毫秒)。 |
Table: Fuji Nexim特定参数
驱动程序扩展#
此异常流程驱动程序提供了一组扩展,允许自定义执行独立于关联的驱动程序定义的操作。这意味着您可以使用自定义注册驱动程序定义中不存在的事件。
这在访问共享的设备数据或者由于过于复杂而无法使用常规机制访问的设备数据时特别有用。在需要访问命名约定可能因设备而异的数据时也很有用。
对象#
对象是作为参数传递或作为结果值返回的结构。
RegisterHandler#
| 名称 | 类型 | 描述 |
|---|---|---|
| event | Event | 要注册的事件(完整信息) |
Table: Fuji Nexim特定处理程序注册。
UnregisterHandler#
| 名称 | 类型 | 描述 |
|---|---|---|
| event | Event | 要注销的事件(至少必须提供name属性) |
Table: Fuji Nexim特定处理程序取消注册。
方法#
注册事件#
在发生特定Fuji Nexim消息类型时通知协议驱动程序引发该事件。
void connect.iot.driver.fujinexim.registerEvent(data: Event)
示例#
通知 connect.iot.driver.fujinexim.registerEvent
{
"name": "PgChange",
"deviceId": "PGCHANGE",
"isEnabled": true,
"properties": [
{
"name": "time",
"deviceId": "Time",
"deviceType": "DateTime",
"dataType": "DateTime"
},
{
"name": "lineName",
"deviceId": "LineName",
"deviceType": "String",
"dataType": "String"
},
{
"name": "machineName",
"deviceId": "MachineName",
"deviceType": "String",
"dataType": "String"
},
{
"name": "moduleNo",
"deviceId": "ModuleNo",
"deviceType": "Integer",
"dataType": "Integer"
},
{
"name": "laneNo",
"deviceId": "LaneNo",
"deviceType": "Integer",
"dataType": "Integer"
},
{
"name": "programName",
"deviceId": "ProgramName",
"deviceType": "String",
"dataType": "String"
}
]
}
注销事件#
通知异常流程驱动程序在出现特定消息时停止引发该消息。
void connect.iot.driver.fujinexim.unregisterEvent(data: Event)
示例#
通知 connect.iot.driver.fujinexim.unregisterEvent
执行命令#
执行自定义命令。
any connect.iot.driver.fujinexim.executeCommand(data: ExecuteCommand)
示例#
SendRequest connect.iot.driver.fujinexim.executeCommand
{
"command": {
"name": "StartEv",
"deviceId": "STARTEV",
"extendedData": {
"executionMode": "SendRequest",
"destination": "TargetDevice"
},
"parameters": [{
"name": "machineName",
"deviceId": "MachineName",
"dataType": "String",
"deviceType": "String" ,
"extendedData": {}
}],
},
"parameters": {
"machineName": "Machine001",
}
}