百色西门子专业授权代理商

百色西门子专业授权代理商

发布商家
浔之漫智控技术-西门子PLC代理商
联系人
聂航(先生)
电话
15221406036
手机
15221406036
微信
15221406036
价格
¥666.00/件

百色西门子专业授权代理商

组态软件CAN驱动特定


图4.1 组态软件CAN驱动

组态软件的CAN驱动程序,如图4.1所示,是人机界面和组态软件的接口,其功能和特点是:

CAN总线数据传递给组态软件的接口:
驱动要借助系统的设备驱动接口,读取CAN总线数据,并通过组态软件的标准形式,传递给组态软件的实时数据库。

可以通过多种形式保证数据发送和接收成功:
1)、驱动内部,判断CAN控制器发送错误信息;
2)、通过写入设备寄存器,然后,读取判断寄存器写是否成功。

关注CANopen协议操作应用层面:
驱动程序中,并不需要整合CANopen整个协议栈,支持CAN2.0协议就足够。然后,CANopen协议部分通过组态逻辑解决。

可以通过多种形式保障数据的完整性和实时性:
实时性就是*新发送总线数据,能够在规定的延时内,进入组态软件的实时数据库。完整性就是能够将所有的数据报文抓取到组态软件,并进行完整的数据处理和存储。根据控制工艺的要求,我们可以设置总线数据上发的频率,通过HMI嵌入的CAN控制器设置屏蔽减少非目标数据,也可以通过组态软件对CAN控制器和驱动缓冲区的处理数据收发性能。

4.2. HMIBuilder软件CAN驱动映射关系

4.2.1. HMIBuilder组态软件

HMIBuilder组态软件是北京昆仑纵横科技发展有限公司(Http://www.hmibuilder.com)推出的分布式组态软件。现场总线是HMIBuilder软件关注的重点之一。

4.2.2. HMIBuilder设备站参数对应PCI1680U的一个Port口

针对研华PCI-1680U板卡,在设备站参数设置中,其端口、设备号可以选择(见图4.2),波特率可以设定,比如Port1,设备号为0,波特率:250K。这些对应Advantech Device Magnager中的HardwareSetting(见图4.3)。其协议类型和远程帧方式对应CanMEx.exe测试程序中对CAN卡的进一步设置(详见图4.4),其中CanMEx.exe在安装研华Demo后目录中,如C:\Program Files\Advantech\CAN\CAN Examples\Examples\VC\CanMEx)。


图4.2 站参数选择


图4.3 HardwareSetting


图4.4 CanMEx

4.2.3. HMIBuilder模拟量CANopen帧的数据域

在图4.5中,其中Message内容为数据域的ASCII码形式解码。在HMIBuilder中,PCI1680U对应的点参数的设置方法如图4.5。其中,ID可以CANopen设备的PDO。如果要读PDO数据域的第一个Byte数据。那么设置如下:416:0:U8:R。也就是416表示设备ID,0表示偏移量,U8-表示8位无符号整形。也就是说,起始偏移为数据域按照字节的偏移,取值为0到7。如果按照F32数据类型,起始偏移取值为0和1。


图4.5 点参数的设置

注意:本驱动的解码方法包括8位无符号数据、8位带符号整数、16位无符号整数、带符号整数、16位BCD整数、32位无符号整数、32位带符号整数、32位BCD整数、32位浮点数。

5.应用实例

下面,我们针对芬兰Axiomatic公司MVINC-CO-x-range型号倾角传感器,实现CANopen模块的人机界面接入。

1、物理连接

准备首先正确接线,连接研华的PCI-1680U板卡;然后用研华的随机测试软件进行测试。如果测试通讯完成后,再进行下一步,连接带CAN通讯的下一级设备,在这里我们测试Axiomatic公司MVINC-CO-x-range型号倾角传感器。

2、倾角传感器分析

通过阅读传感器的技术说明文档,我们的目标是通过组态软件可以控制倾角传感器的启动和停止,同时采集传感器的倾角信息。模块的启动和停止可以通过NMT指令实现。模块的倾角信息通过TPDO1数据对象周期上传。我们也知道通过SDO,可以配置对象字典,通过层设置服务(LSS:Layer setting service)可以设置模块的Node-ID和波特率等,但是,这些不是本文的目标,也就是,这些不是操作应用层面关注的,而是系统设置层面关注的。

3、HMIBuilder站参数组态

设置一个站,选择驱动程序。如下:


图5.1 站参数设置

配置协议,参数设置如下:

用PCI-1680U板卡的第一个端口接收数据,所以在设备中选择Port1,设备号选择第一个设备,波特率选择250k(和传感器波特率相同),屏蔽码为255。


图5.2 通信设置

4、倾角传感器的NMT对象组态


表5.1 [3] 网络管理对象(NMT)数据报文格式

CAN-ID如果为0X00,表示总线上所有节点都执行相关命令操作。

命令分类为:


表5.2 [3] CAN模块命令

在HMIBuilder数据组态中,我们设置启动CAN模块2个模拟量参数如图,要求ID都为0,偏移地址连续,而其分别为0和1。


图5.3 模拟量参数设置

注意:

地址为0,偏移量为0


图5.4 地址无偏移

地址为0,偏移量为1.


图5.5 地址偏移一位

5、倾角传感器TPDO1对象组态

通过倾角传感器相关技术文档,我们可以察看设备定义的数据对象字典,确定数据报文的数据域的内容。比如TPDO1,对于MVINC-CO-2-180模块,CAN数据报文发送7个字节数据,数据的定义为:

Sub1为纬度角(Latitude angle),16Bits;

Sub2为经度角(Longitude angle),16Bits;

Sub3为温度(temperature),8Bits;

Sub4为辅助输入(Auxiliary bbbbb),16Bits;


表5.3 [3]MVINC-CO-2-180模块的TPDO1对象的数据字典内容

倾角传感器上传数据的格式:


表5.4 TPDO1对象的数据报文

如果我们读取CAN模块7个模拟量参数,需要在组态软件中做如下设置:


图5.6 模拟量参数设置

地址设置如下:


图5.7 采集上来的数据

图5.7 地址设置 偏移0.对应D0:416:0:U8:R


图5.8地址设置 偏移1对应D1:416:1:U8:R

注意:

读上的数据为7位,ID不变。设置偏移为0…6

6、HMIBuilder组态完成

配置启动画面


图5.9 启动画面

运行情况:


图5.10 运行结

 

6.结束语

通过HMIBuilder组态软件的CAN总线通信设置,实现了对倾角传感器数据的采集。进一步,我们可以看到:HMI系统中,我们主要关注CANopen协议的数据对象PDO部分,同时,其他数据对象也可以根据现场工艺的要求在组态软件中实现


人气
99
发布时间
2023-04-25 14:11
所属行业
PLC
编号
31503756
我公司的其他供应信息
相关西门子产品
拨打电话
微信咨询
请卖家联系我