西门子6ES355-2CH00-0AE0
can总线和rs485总线的定义
can是控制器局域网络(controller area network, can)的简称,是由研发和生产汽车产品著称的德国bosch公司开发了的,并终成为(iso11898)。是国际上应用广泛的之一。 在北美和西欧,can总线协议已经成为汽车系统和嵌入式工业控制局域网的标准总线,并且拥有以can为底层协议专为大型货车和重工机械车辆设计的j1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。
rs-485采用半双工工作方式,支持多点。rs-485总线网络拓扑一般采用终端匹配的总线型结构。即采用一条总线将各个节点串接起来,不支持环形或星型网络。 rs-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mv的电压,故传输信号能在千米以外得到恢复。 有些rs-485收发器修改输入阻抗以便允许将多达8倍以上的节点数连接到相同总线。rs-485常见的应用是在工业环境下可编程逻辑控制器内部之间的通信。
can总线和rs485总线应用概述
以往,pc与智能设备通讯多借助rs232、rs485、以太网等方式,主要取决于设备的接口规范。但rs232、rs485只能代表通讯的物理介质层和链路层,如果要实现数据的双向访问,就必须自己编写通讯应用程序,但这种程序多数都不能符合iso/osi的规范,只能实现较单一的功能,适用于单一设备类型,程序不具备通用性。
在rs232或rs485设备联成的设备网中,如果设备数量超过2台,就必须使用rs485做通讯介质,rs485网的设备间要想互通信息只有通过“主(master)”设备中转才能实现,这个主设备通常是pc,而这种设备网中只允许存在一个主设备,其余全部是从(slave)设备。而现场总线技术是以iso/osi模型为基础的,具有完整的软件支持系统,能够解决总线控制、冲突检测、链路维护等问题。现场总线设备自动成网,无主/从设备之分或允许多主存在。在同一个层次上不同厂家的产品可以互换,设备之间具有互操作性。
现在的总线格式很多,can相对于其他的总线有什么特点?首先,就比较一下大家耳熟能详的485总线, 485总线只是一种电平标准,并不是什么新的协议,与232差不多,当然这么说不是很恰当,但是有助于大家理解。
can总线pk rs485总线
can(controller area network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前rs-485基于r线构建的分布式控制系统而言,基于can总线的分布式控制系统在以下方面具有明显的优越性:
1)can控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁方式竞争向总线发送数据,且can协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得can总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,**系统的可靠性和系统的灵活性。而利用rs-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差。
2)can总线通过can控制器接口芯片82c250的两个输出端canh和canl与物理总线相连,而canh端的状态只能是高电平或悬浮状态,canl端只能是低电平或悬浮状态。这就保证不会出现像在rs-485网络中,当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且can节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。
3)can具有完善的通信协议,可由can控制器芯片及其接口芯片来实现,从而大大降低了系统的开发难度,缩短了开发周期,这些是只仅仅有协议的rs-485所无法比拟的。
rs-485与can-bus的特性对比
modbus通信分为串口和以太网,无论是串口还是以太网,只要是标准modbus,就可以用modbus模拟器进行调试。按以下几步进行调试。
1、使用modbus模拟器进行调试
如果对方是modbus子站(从站),那么用modscan32(modbus主站模拟器)进行调试,通常仪表、**计、液位计、都是作为modbus从站提供数据。使用方法如图3、 4所示。
如果对方是modbus主站,我们作为modbus从站,我们可以用modsim32(modbus从站模拟器)与对方主站通讯。使用方法如图5:
如果这一步通不上,可能是以下几种原因:
a 线路不通,如果是以太网,请ping一下对方的ip地址,如果是串口请检查串口接线是否正确, 接线方式见串口接线方式;
b 串口参数不正确,通讯双方串口参数必须完全一样,否则调不通的。串口参数可以查阅设备说明书或咨询对方厂商,千万不要去猜串口参数,猜中的可能性比中六合彩的可能性还低一半,串口波特率、数据位、停止位、校验位有96种组合,猜不中也试不完,省时省力方法就是看说明书或咨询对方厂商。
c 设备地址或数据点表不正确。
如果通讯软件或模拟器提示“超时”,请将串口超时时间设大一些(3000——5000毫秒)。
2、使用modbus通讯软件调试
上一步调通后,再用我们的modbus通讯软件调试,如果我们的软件调不通,通常大可能性是配置错误,尤其是使用配置文件的通讯软件,经常会出现以下几种错误:
l服务器参数不正确;
l 配置文件中实际配置的点名与pointnum= 后面的点数不一致;
l 点没有按顺配置
3、检查通信点值是否正确 中间point4至point8没有配置,既使这些点不用,也要将点名写成一个dcs数据库不存在点名,不能空着不写。
如果能读到数据,但数值不正确,通常有两种可能:
l 数据起始地址错误。如果对方给的点表是400001开发,地址中的“4”表示要使用3号功能读数据,1表示个寄存器,那么对应的地址是从0开始的,也就是说这个点的地址为0,在配置文件中起始地址写0,写400001、400000、1都是错的。如果对方给的点表是400000或0开始,那么他给的就是地址,不是寄存器号,就不需要再减1了。如果是hollias comm v2.0.0软件,这个软件会自动减1,只需要的填写寄存器号就行,其它的使用配置文件的(.ini文件)modbus软件都是需要减1的。
l 数据类型不正确。通讯软件安装后,在安装目录下都会有说明书,请仔细阅读使用说明书,modbus软件说明书都会说明浮点数字节顺序,因为浮点数有四个字节,通常都是高字节在前、低字节在后,但由于plc内部字节存储顺序与pc机不一样,或者有些厂商就是不走寻常路,字节顺序会出现各种组合,请按说明书选择数据类型。如果不会选或看不懂,简单的办法就是配置四个点,每个点都选择一种不同的类型,总有一个点的数值是正确的,那么就选择这种类型。