西门子6ES355-1VH10-0AE0
作为工业自动化系统中后一段通讯的桥梁,越来越多的和执行机构都集成了can总线之类的通讯接口,但其固化的几个通讯数据格式,面对当前众多复杂的大系统,时常会给设计者带来底层数据冲突的困扰,如何完美解决这一难题,至关重要。
一、问题描述
大家都知道,一个can网络中不同节点发出的报文的id也应是不同的,否则当id冲突的两个节点上传数据时会产生错误。我们时常会发现某些can接口的传感器或者控制器的报文id是固定的,不具备硬件地址区分。以下图为例,某电机控制器有三条标准帧功能报文,id分别为0x0001、0x0002、0x0003。那么如何在同一个can网络中使用多个同样的电机控制器既可以防止id冲突又可以识别硬件地址呢?
二、解决方案
针对这一问题,可以将致远的can网桥canbridge+加装在各个设备与总线之间,利用其id映射功能,将每台设备的功能id映射为一个带地址字段的新id。这样既可以防止设备上传的报文产生id冲突错误,又可以通过添加的地址字段区分不同的设备。如下图所示,将标准帧id的高8位定义为地址字段,这样就可以通过id区分不同设备的上行下行报文。
图 1 相同canid设备组网
图 2 使用can网桥实现相同canid设备组网
三、设置流程
1、 波特率设置
使用通讯线连接canbridge+和pc机,打开cancfg软件,在基本信息选项卡里点击can1、can2波特率的下拉菜单,均选择所接can设备的对应波特率。
图 3 canbridge+的波特率设置
2、 帧映射设置
在帧映射选项卡里点击使能帧映射,假定网桥的can1端口连接can设备,网桥的can2端口连接can网络。添加如下图所示的映射关系,即可将1号设备的所有功能id关联上硬件地址。同样对其他设备连接的can网桥做类似的设置,即可实现相同canid设备的组网。
图 4 canbridge+的帧映射设置
很多初次接触profinet通讯网络项目组态编程的用户,往往会有这样的困惑:为什么一定要给profinet设备,起一个设备名称呢?看起来这个名称还很重要,因为如果事先没有向profinet设备分配并下载名称,那么就算是向其上位机profinet控制器下载了全部项目的硬件组态信息并运行,还是无法与该设备进行正常的profinet通讯,为什么会这样呢?为什么感觉和其它协议的产品用起来有点不一样呢?
想要回答以上这些疑问,我们就必须对profinet协议自身的通讯启动机制有比较清晰与深入的认识,当然事先要掌握一些以太网协议的知识,例如dns、dcp、arp等等。如果要做到让普通用户也能马上听懂这种启动的工作机制,怎么办?为此,我想了一个通俗易懂的解释方案,如下所示。
角色扮演:新生入学报到上课
新生,扮演者:profinet设备(例如一些刚出厂的io模块产品)
班主任,扮演者:profinet控制器(例如、机器人控制器产品)
招生办,扮演者:profinet编程者(例如项目工程师、规划等等)
角色扮演开始了,各位看官,回想一下我们小时候上学报到的景象吧。
场景一:设备名称分配与网络规划
招生办汇总出本届新生的信息登记表,主要关键词就是每个新生的姓名(每个profinet设备都必须先保存有一个名称)。当然,招生办手头还有班主任信息表,主要关键词也是教师的姓名(profinet控制器也必须有设备名称)。招生办开始规划分班:每个班级内的学生,名字不得重复,由一名班主任管理。为了便于管理,招生办还为每个新生分配了一个学号(相当于设备ip地址),新生刚报到,由于环境陌生一开始还不知道这些事情。为了便于管理学校员工,班主任当然也要有学号工号,这里就不必赘述了。
场景二:网络安装与网络组态下载
招生办将分班信息通知每一名新生,安排新生找到各自的班级教室并入座(这就相当于profinet设备的网络安装)。招生办将每个班级的花名册交给班主任,花名册里包含了该班级学生的姓名学号等信息(这就相当于将profinet网络组态信息下载进上位机控制器)。班主任熟读了这本花名册,等到所有新人都落座后,就准备开始与自己班级的学生互动啦(准备开始建立profinet网络通讯)。
场景三:profinet网络启动流程
现在我们就可以开始正常的开班上课了。班主任在开始正式讲课之前,先要点名以确认新同学都到齐没有(这就相当于识别设备名称)。在座的新生听到班主任喊自己的名字后,会举手回应,说到(这就相当于回应识别成功)。班主任看了看这名新生,表示欢迎并告知该学生的学号是xxx(这就相当于设置设备ip地址)。新生表示他已经记住了(这就相当于确认设置设备ip成功)。班主任表示感觉不错,和新同学聊了几句了解相互间的状态,并且要求这名新生去拿新课本准备上课(这就相当于建立连接并确认ok)。新生领完新课本并表示状态良好准备上课(这就相当于写入数据并确认ok)。此时班主任说先别急,我来说校规班规吧,新生听完后表示完全遵守(这就相当于参数化并确认ok)。后班主任非常满意说,下面我们就开始正式上课吧,学生们说老师好(这就相当于开始通讯应用并确认准备好)。至此,上课就正式开始了(这就相当于profinet网络开始正常工作)。
end
老外当初开发profinet通讯协议的时候,也是来源于生活高于生活的。解开层层枯燥的各种术语和复杂的表面现象,核心的理念,其实真的很朴素、很纯真。
hart(highway addressable remotetransducer,可寻址远程高速通道)的开放通信协议,是美国rosement公司于1985年推出的一种用于现场智能仪表和控制室设备之间的通信协议。hart装置提供具有相对低的带宽,适度响应时间的通信,经过10多年的发展,hart技术在国外已经十分成熟,并已成为全球智能仪表的工业标准。
1、hart协议的传输原理
hart协议采用基于be11202标准的fsk频移键控信号,在低频的4-20ma模拟信号上叠加幅度为0.5ma的音频数字信号进行双向,数据传输率为1.2mbps。由于fsk信号的平均值为o,不影响传送给控制系统模拟信号的大小,保证了与现有模拟系统的兼容性。在hart协议通信中主要的变量和控制信息由4-20ma模拟信号传送,在需要的情况下,的测量、过程参数、设备组态、校准、诊断信息通过hart协议访问。
图1 hart协议的传输原理
2、hart协议的三类命令
hart通信采用的是半双工的通信方式,其特点是在现有模拟信号传输线上实现数字信号通信,属于模拟系统向数字系统转变过程中过渡性产品,在当前的过渡时期具有较强的市场竞争能力,得到了较快发展。hart规定了一系列命令,按命令方式工作。它有三类命令,类称为通用命令,这是所有设备都理解、都执行的命令;第二类称为一般行为命令,所提供的功能可以在许多现场设备(不是全部)中实现,这类命令包括常用的现场设备的功能库;第三类称为特殊设备命令,以便于工作在某些设备中实现特殊功能,这类命令既可以在基金会中开放使用,又可以为开发此命令的公司所独有。在一个现场设备中通常可发现存在这三类命令。
3、hart协议的优点
①hart采用统一的设备描述语言ddl
现场设备开发商采用这种标准语言来描述设备特性,由hart基金会负责登记管理这些设备描述并把它们编为设备描述字典,主设备运用ddl技术来理解这些设备的特性参数而不必为这些设备开发专用接口。但由于这种模拟数字混合信号制,导致难以开发出一种能满足各公司要求的通信接口芯片。hart能利用总线供电,可满足本质安全防爆要求,并可组成由手持编程器与管理系统主机作为主设标的双主设备系统。
②hart协议可以双向传送数字信息
采用模拟量信号只能单向传送情息,要么是从设备到主机(输入),要么是从主机到设备(输出)。而采用hart协议可以双向传送数字信息。这突破了以往传统仪表只能从主机接收控制情的方式-比如阀门控制,也可以向主机传递阀门中的信息状态。同样,以往只能把过程变量发送给监控计算机,现在也可以接收诸如组态设置之类的信息。
③传输信息量大
传统的模拟量和离散量设备只能以单过程变量方式通信-很难找到一种简便的方式判定发送的信息是否有效。采用hart不但可以获取过程变址,还可以获得其他类型的信息。毎个hart设备中包括35-40个标准信息项,比如设备状态、诊断报警、过程变量、单位、回路电流、百分比范围、生产商、设备标签,其他的信息还包括:主机以数字方式查询hart设备,并告知设备的设置是否正确,运行是否正常。该功能可免除大多数的日常检验工作,并有助于在故障导致重大问题之前发现过程故障。
④支持多变量处理
数字通信模式下,一对电缆可以处理多个变量。例如,一个变送器可以处理多个传感器的输入。在一个报文中能处理4个过程变量。在任一现场仪表中,hart协议支持256个过程变量。
⑤基金会管理
采用hart时,用户不会受制于某个特定的供应商或地方“标准”。这是由于hart技术并不属于某一家公司,也不受一个国家或标准实体单位的控制。实际上,该技术由不受约束的非盈利性单位hart通信基金会管理。
⑥应用广泛
就过程工业而言,hart是目前世界上广泛采用的协议。可以从不同供应商那里获取近几百种采用hart技术的产品。产品种类的齐全意味着hart产品几乎能够满足所有过程应用场合的需要,并且还可以从多个经销商产品中选择适合的一款。
⑦完全可互操作性
完全可互操作性意味着无论是哪个供应商的hart兼容产品和主系统都可以协同工作。与hart设备实现兼容,一些主系统采用统一表示的指令,更的系统则采用设备描述以理解所有hart信息。