一、Roboshop 配置
1.1 设置库位监测
1)进入调度,启动编辑,选择库位监测。
2)点击加号,增加库位监测设备。
3)添加成功,库位监测栏出现 Monitor-01,一个库位监测设备可以添加多个库位,也可以一次添加一个。如图,我们同时选中 PT 库区的 6 个库位。
4)鼠标放置在 Monitor-01 处,右键出现“添加库位到库位监测设备”字样,点击它。
5)可以看到六个库位已经成功出现在 Monitor-01 下方。
1.2 设置 binJson
1)点击 Monitor-01,右侧出现 binJson。
2)binJson 是配置库的一些参数,我们要根据项目的实际情况正确填写 binJson。只要使用到库位监测的库位都需要配置 binJson,下面写出一个和多个库位的配置示例。
示例 1:设置一个库位
[
{
"binareaname": "PT",
"binaddress": 1,
"binholderaddress": 22,
"binname": "PT-SD336-1"
}
]
2
3
4
5
6
7
8
转换成一行之后,在将其粘贴到 binJson 中,如下所示:
[{"binareaname":"PT", "binaddress":1, "binholderaddress":22, "binname":"PT-SD336-1"}]
一个库位检测可以设置多个库位用英文逗号“,”分隔。
示例 2:设置多个库位
[
{
"binareaname": "PT",
"binaddress": 1,
"binholderaddress": 22,
"binname": "PT-SD336-1"
},
{
"binareaname": "PT",
"binaddress": 2,
"binholderaddress": 24,
"binname": "PT-SD336-2"
},
{
"binareaname": "PT",
"binaddress": 3,
"binholderaddress": 26,
"binname": "PT-SD349-1"
},
{
"binareaname": "PT",
"binaddress": 4,
"binholderaddress": 28,
"binname": "PT-SD349-2"
},
{
"binareaname": "PT",
"binaddress": 5,
"binholderaddress": 98,
"binname": "PT-FD-1"
},
{
"binareaname": "PT",
"binaddress": 6,
"binholderaddress": 99,
"binname": "PT-FD-2"
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
转换成一行之后,在将其粘贴到 binJson 中,如下所示:
[{"binareaname":"PT", "binaddress":1, "binholderaddress":22, "binname":"PT-SD336-1"},{"binareaname":"PT", "binaddress":2, "binholderaddress":24, "binname":"PT-SD336-2"},{"binareaname":"PT", "binaddress":3, "binholderaddress":26, "binname":"PT-SD349-1"},{"binareaname":"PT", "binaddress":4, "binholderaddress":28, "binname":"PT-SD349-2"},{"binareaname":"PT", "binaddress":5, "binholderaddress":98, "binname":"PT-FD-1"},{"binareaname":"PT", "binaddress":6, "binholderaddress":99, "binname":"PT-FD-2"}]
3)以上库位配置内容的字段含义:
- binareaname : 库区名
- binaddress : 为库位空满状态对应的寄存器地址 (与现场接线输入位匹配)
- binholderaddress : 为库位占用者对应的寄存器地址 (可随意给一个值,但不能相同)
- binname: 库位名
4)根据需要选择一个库位或者多个库位的样例,将以上四个字段都配置为适合自己场景的内容,填入正确的 binJson。本示例用到了多个库位的样例,因为 PT 库区有 6 个库位在 Monitor-01 中。
5)对于右侧红框中的属性配置做以下说明:
- binJson
前文已做描述。
- funCode
modbus 的功能码,只支持 1、2、3;本示例填写的 2;如果使用 Modbus Slave 模拟测试,则要与 Modbus Slave 的 function 一致(如下图:配置路径:setup—salve definition)。
- proxyName
代理名称,和左上角红框处的模型文件配置的要一致,本示例我们使用 proxyOne。
- reverse
取反;正常 1 是库位占用,取反后,0 是占用,我们默认用 false。
1.3 配置模型文件 proxyOne
1)点击模型文件。
2)按照如下 ip 和端口号配置。
3)保存并推送模型文件。
4)保存并推送场景文件。
二、RDS 配置光电
2.1 点击设置并点击 Core
2.2 配置 rdscore 参数
- baseUrl
Core IP + 端口号。
- queryInterval
查询间隙时间,默认就行 (不能设置太短)。
- siteStatueSyncInterval
库位状态同步间隙时间 ,默认就行 (不能设置太短)。
2.3 updateSitesBy 选择配置模式
- 选择 NONE
表示没有光电(不用配置光电)。
- 选择 GROUP
那么updateSitesGroup (必填) 填入多个光电检测的库区,用英文逗号“,”分开 。
- 选择 ALL
默认所有的库区设置光电检测,updateSitesGroup 可不用填。
此案例选择 group,填入 库区名:PT。
2.4 配置完后点击保存
注意:RDS配置光电检测的库区需要和 Roboshop 设置的库区名相对应。
三、使用 postman 进行检测
3.1根据库区名查状态
GET http://127.0.0.1:8088/binDetails?binGroups=PT
3.2 返回内容的字段含义
postman中,看返回结果,status为0表示与库位连接正常。
3.3 现场配置光电失败的样例
设置光电的库位 会显示同步失败, 则导致 脚本中调用查询库位方法时 无法得到库位 。
四、Modbus Slave 测试
由于该案例没有真正的光电监测设备,因此我们可以用 Modbus Slave 做模拟测试。
4.1 连接 Modbus Slave
1)依次点击 connection-connect。
2)输入正确的 ip 和 port,与 Roboshop 中 proxyOne 的配置一致(见1.3),点击 OK。
4.2 测试
1)前面 1.2 的设置多个库位样例中,binaddress":2, "binholderaddress":24, "binname":"PT-SD336-2"
我们知道 binaddress 为 2 的库位是 PT-SD336-2,我们将 Modbus Slave 中的 2 号地址位的值改为 1。
2)到 RDS 网页端的库位页面,查看 PT-SD336-2 的库位是否改为了占用状态。
3)可以看到变为占用状态,且库位页面,同步失败列全为否,则表示光电同步,且可以根据监测情况修改库位占用和未占用状态。
至此,光电配置成功。