本发明涉及工业控制,尤其是涉及一种用于工业现场的适配器。
背景技术:
1、在工业现场的控制系统中,模块式控制器越来越流行,但是通常模块式控制器自带的io模块数量较少,因此工业现场常采用总线协议使can主站外挂多个io模块,以适应实际的需求。
2、但是对于集成的控制器而言,当can主站外挂多个io模块时,一方面,由于每个io模块都有各自的通信地址、通信波特率和配置参数等,因此在调试过程中,需要逐个对io模块进行设置,调试较麻烦;另一方面,在检修io模块或更换不同型号的io模块时,需要拆除相应连接线并重新配置io模块的通信地址、通信波特率和配置参数等,维护过程也比较麻烦。
技术实现思路
1、为了解决多个io模块调试和维护较麻烦的问题,本技术提供一种用于工业现场的适配器。
2、本技术提供一种用于工业现场的适配器,采用如下的技术方案:所述适配器与can主站连接,所述适配器挂载有一个或多个io模块;
3、所述适配器在运行过程中,创建多个不同优先级的任务,所述多个不同优先级的任务包括:io通信任务、主站通信任务;
4、所述io通信任务用于处理适配器与io模块之间的数据交互业务;
5、所述主站通信任务用于处理适配器与can主站之间的数据交互业务。
6、通过采用上述技术方案,采用适配器作为中间介质,使适配器分别与io模块和can主站通信并实现数据交互,适配器可以汇总并整理io模块的信息至内部缓存,再将io模块的信息输出至can主站,实现can主站对io模块的间接访问;由适配器整合各个io模块,实现对各个io模块的统一配置和管理,使得io模块调试更加方便,且检修或更换不同型号的io模块时,只需更换相应的io模块即可,适配器可以自动识别并和io模块通信,无需在can主站端重新配置通信地址、通信波特率和配置参数,检修更加方便,io模块更容易维护。
7、在一个具体的可实施方案中,所述适配器还包括初始化过程;所述初始化过程包括外设初始化、应用初始化和主站通信任务初始化;
8、所述外设初始化用于初始化适配器底层配置;所述应用初始化用于配置io模块的通信参数和配置参数;所述主站通信任务初始化用于在适配器内对各io模块分配pdo地址;所述通信参数包括通信地址和波特率。
9、通过采用上述技术方案,适配器通过初始化过程对所有io模块的通信地址、波特率和配置参数进行设置,无需对io模块逐台设置,调试和维护更加方便,通过在适配器的内部存储对io模块分配pdo地址,便于记录和存储io模块的信息。
10、在一个具体的可实施方案中,所述应用初始化的流程,具体包括:
11、适配器扫描所挂载的io模块,获取所挂载的io模块的数量;
12、适配器向各io模块发送id分配请求命令,并当适配器接收到各io模块发送的id分配响应时,则适配器确定对io模块的id分配成功并标记各io模块的id信息;
13、适配器通过与各io模块通信,加载得到各io模块的基本信息;
14、适配器基于各io模块的基本信息、id信息以及预先存储的模块数据库,配置各io模块的通信参数和配置参数。
15、通过采用上述技术方案,适配器通过扫描io模块并向各io模块分配id、加载io模块的基本信息,实现对io模块通信参数和配置参数的配置。
16、在一个具体的可实施方案中,所述主站通信任务初始化的流程,具体包括:
17、适配器基于io模块的基本信息,确定各io模块的类型;
18、适配器根据所述io模块的类型,对所述io模块分配pdo地址,并标记各io模块对应的pdo映射参数。
19、通过采用上述技术方案,适配器通过对io模块分配pdo地址并对应标记,便于将io模块的信息记录和存储至对应位置。
20、在一个具体的可实施方案中,所述io通信任务的流程,具体包括:
21、适配器扫描io模块,并基于io模块向自身发送的数据帧判断适配器与io模块之间的通信状态;
22、适配器基于适配器与io模块之间的通信状态,通过解析接收到的数据帧得到io模块运行信息。
23、通过采用上述技术方案,适配器通过io模块发送的数据帧判断相互之间的通信状态,当通信状态正常时通过解析数据帧获得io模块的运行信息,保证适配器与io模块在通信正常的情况下进行数据传输,提高了数据传输的质量。
24、在一个具体的可实施方案中,所述主站通信任务的流程,具体包括:
25、适配器检查系统通信状态;所述系统通信状态包括适配器与can主站之间的通信状态、适配器与io模块之间的通信状态;
26、适配器基于所述系统通信状态、io模块运行信息和can主站的控制指令更新输出过程数据和输入过程数据;所述输入过程数据表征适配器向can主站发送的io模块运行信息;所述输出过程数据表征适配器向io模块发送的can主站的控制指令。
27、通过采用上述技术方案,适配器通过检查整个系统的通信状态,当整个系统的通信状态均正常时,则适配器将io模块的运行信息传输至can主站,实现can主站对工业现场情况的掌握,适配器还将can主站的控制指令传输至io模块,实现can主站对工业现场情况的控制。
28、在一个具体的可实施方案中,所述多个不同优先级的任务还包括状态诊断任务;所述状态诊断任务用于处理运行指示灯、故障指示灯和系统指示灯的诊断业务。
29、通过采用上述技术方案,适配器通过指示灯实时显示系统运行情况。
30、在一个具体的可实施方案中,所述适配器连接工程师站,所述工程师站部署有组态软件;所述多个不同优先级的任务还包括usb通信任务,所述usb通信任务用于处理组态软件对适配器的固件升级和组态配置业务;所述usb通信任务的流程,具体包括:
31、适配器基于组态软件发送的固件升级命令,对所述固件升级命令解析并执行对应的固件升级操作,实现对适配器的固件升级;
32、适配器基于组态软件发送的组态配置命令,对所述组态配置命令解析并执行对应的组态配置操作,实现对适配器的组态配置。
33、通过采用上述技术方案,通过将适配器连接工程师站,通过工程师站的组态软件实现对适配器的固件升级和组态配置,提高适配器的性能和功能。
34、在一个具体的可实施方案中,所述多个不同优先级的任务还包括数据存储任务;所述数据存储任务用于处理io模块配置参数的保存业务;
35、所述数据存储任务的流程,具体包括:
36、适配器接收组态软件和/或can主站发送的保存指令;
37、适配器根据所述保存指令,检测io模块的配置参数是否发生变化,若发生变化,则适配器在内部io数据存储区更新所述io模块的配置参数。
38、通过采用上述技术方案,适配器根据组态软件发送的保存命令,或根据can主站发送的保存命令,或同时根据组态软件和can主站发送的保存命令,检测io模块的配置参数,并当io模块的配置参数发生变化时,在内部存储实时更新。
39、在一个具体的可实施方案中,io通信任务的优先级>主站通信任务的优先级>usb通信任务的优先级>状态诊断任务的优先级>数据存储任务的优先级。
40、综上所述,本技术的技术方案至少包括以下有益技术效果:
41、1、采用适配器作为中间介质,使适配器分别与io模块和can主站通信并实现数据交互,适配器可以汇总并整理io模块的信息至内部缓存,再将io模块的信息输出至can主站,实现can主站对io模块的间接访问;由适配器整合各个io模块,实现对各个io模块的统一配置和管理,使得io模块调试更加方便,且检修或更换不同型号的io模块时,只需更换相应的io模块即可,适配器可以自动识别并和io模块通信,无需在can主站端重新配置通信地址、通信波特率和配置参数,检修更加方便,io模块更容易维护;
42、2、适配器通过检查整个系统的通信状态,当整个系统的通信状态均正常时,则适配器将io模块的运行信息传输至can主站,实现can主站对工业现场情况的掌握,适配器还将can主站的控制指令传输至io模块,实现can主站对工业现场情况的控制;
43、3、过将适配器连接工程师站,通过工程师站的组态软件实现对适配器的固件升级和组态配置,提高适配器的性能和功能。