骥远PROFINET转CANopen应用
4.1配置模块
1. 正确连接电源,通过MiniUSB口将PN - CANopen与PC相连,给PN - CANopen上电;
2. 打开配置软件,根据需求在配置软件中进行配置;
3. 点击工具栏中的“下载”按钮,将配置下载到PN - CANopen中;
4. 在TIA Portal中配置相应的组态,包括要配置的模块,目标设备(PN - CANopen)的 IP地址及设备名称;
5. 将 TIA Portal的组态配置下载到PLC中;
6. 等待大约 10秒,PN - CANopen会与 PLC之间建立连接,此时PN灯亮。
4.2参数设置步骤
4.2.1 创建工程
打开TIA Portal,选择创建新项目,输入项目名称,选择路径等信息后,点击创建,如下图所示。
通过 Portal 视图或创建完成的项目视图将 CPU 插入到项目中。
在视图中,选择“设备和网络”并单击“添加新设备”(或者在项目视图中的项目名称下,双击“添加新设备”),如下图“添加新设备”对话框,添加支持PROFINET接口的控制器,例如6ES7 212-1BE40-0XB0。
4.2.2 GSD安装
在TIA Portal 菜单栏点击“选项”>“管理通用站描述文件”, 如图所示:
在弹出的对话框中,选择“已安装的GSD”选项卡,点击源路径选择按钮,弹出浏览文件夹对话框中找到选择 GSD文件“GSDML-V2.33-PN - CANopen-20200330”所在的文件夹路径并选中,点击确认即可。
选择导入的GSD文件,点击安装,直至安装完成。
软件会更新硬件目录。
4.2.3设备组态
双击设备和网络,添加 PN - CANopen设备模块,在硬件目录 > 其他现场设备> PROFINET IO > Gateway > SIEMENS AG > JiYuan > JY EnTalk GateWay > JY-ET-005,如下图所示:
添加设备模块后,如下图所示
使用设备配置的“网络视图”在项目中的各个设备之间创建网络连接。创建网络连接之后,使用巡视窗口的“属性”选项卡组态网络的参数。
选择“网络视图”以显示要连接的设备。选择JY-ET-005的PROFINET端口,然后将连接拖到PLC_1模块的PROFINET端口处,释放鼠标按钮以创建网络连接。
PROFINET网络创建成功,如下图所示:
双击JY-ET-005设备并组态所有必需的模块及子模块,
– 在硬件目录中,展开“模块”容器。
– 双击或拖动Input modules / Output modules下的模块类型。如下图所示:
组态JY-ET-005设备的PROFINET接口,选择设备上的绿色 PROFINET框。巡视窗口中的“属性” 选项卡会显示 PROFINET 端口,在巡视窗口的“属性 > PROFINET接口”选择“以太网地址”,在IP协议中设置IP地址,如下图
组态PLC_1的PROFINET接口,选择 CPU 上的绿色 PROFINET框。巡视窗口中的“属性” 选项卡会显示 PROFINET 端口,在巡视窗口的“属性 > PROFINET接口”选择“以太网地址”, 在IP协议中设置IP地址,如下图:
执行编译和下载
4.3 CANopen介绍
CANopen协议是由 CiA协会针对 CAN协议的不完整性而定义出来的一个更高层次的协议——应用层协议。通信接口和协议软件提供在总线上收发通信对象的服务。不同 CANopen设备间的通信都是通过交换通信对象完成的。这一部分直接面向 CAN控制器进行操作。对象字典描述了设备使用的所有的数据类型,通信对象和应用对象。对象字典位于通信程序和应用程序之间,向应用程序提供接口,应用程序对对象字典进行操作就可以实现 CANopen通信。应用程序包括功能部分和通信部分,通信部分通过对对象字典进行操作实现 CANopen通信,而功能部分则根据应用要求实现。
4.3.1服务资料对象(SDO)
服务资料对象(SDO):可用来存取远端节点的对象字典,读取或设定其中的资料。提供对象字典的节点称为SDO server,存取对象字典的节点称为 SDO client。SDO通讯一定由 SDO client开始,并提供初始化相关的参数。
CANopen的术语中,上传是指由SDO server中读取资料,而下载是指设定server的资料。
SDO通过使用索引和子索引(在CAN报文的前几个字节),SDO使客户机能够访问设备(服务器)对象字典中的项(对象)。
SDO通过 CAL中多元域的CMS对象来实现,允许传送任何长度的数据(当数据超过 4个字节时分拆成几个报文)。
协议是确认服务类型:为每个消息生成一个应答(一个SDO需要两个ID)。SDO请求和应答报文总是包含 8个字节(没有意义的数据长度在第一个字节中表示,第一个字节携带协议信息)。SDO通讯有较多的协议规定。
各种传输帧格式:
SDO用来访问一个设备的对象字典。访问者被称作客户(client),对象字典被访问且提供所请求服务的CANopen设备别称作服务器(server)。客户的CAN报文和服务器的应答CAN报文总是包含 8字节数据(尽管不是所有的数据字节都一定有意义)。一个客户的请求一定有来自服务器的应答。
4.3.2 过程数据对象(PDO)
PDO用来传输实时数据,数据从一个生产者传到一个或多个消费者。数据传送限制在 1到8个字节(例如,一个 PDO可以传输最多64个数字 I/O值,或者4个16位的 AD值)。PDO通讯没有协议规定。PDO数据内容只由它的 CAN ID定义,假定生产者和消费者知道这个 PDO的数据内容。
每个PDO在对象字典中用 2个对象描述:
PDO通讯参数:包含哪个 COB-ID将被 PDO使用,传输类型,禁止时间和定时器周期。
PDO映射参数:包含一个对象字典中对象的列表,这些对象映射到 PDO里,包括它们的数据长度(bits)。生产者和消费者必须知道这个映射,以解释 PDO内容。
PDO消息的内容是预定义的(或者在网络启动时配置的):
映射应用对象到 PDO中是在设备对象字典中描述的。如果设备(生产者和消费者)支持可变 PDO映射,那么使用 SDO报文可以配置 PDO映射参数。
PDO可以有多种传送方式:
同步非周期:由远程帧预触发传送,或者由设备子协议中规定的对象特定事件预触发传送。
同步周期:传送在每 1到 240个 SYNC消息后触发。
异步远程帧触发传送。
异步由设备子协议中规定的对象特定事件触发传送。
一个PDO可以指定一个禁止时间,即定义两个连续 PDO传输的最小间隔时间,避免由于高优先级信息的数据量太大,始终占据总线,而使其它优先级较低的数据无力竞争总线的问题。禁止时间由 16位无符号整数定义,单位 100us。
一个PDO可以指定一个事件定时周期,当超过定时时间后,一个PDO传输可以被触发(不需要触发位)。事件定时周期由 16位无符号整数定义,单位 1ms。
4.3.3 NMT模块控制
只有 NMT-Master节点能够传送 NMT Module Control报文。所有从设备必须支持 NMT模块控制服务。
NMT Module Control消息不需要应答。NMT消息格式如下:
NMT-Master →NMT-Slave(s)
COB -ID | Byte0 | Byte1 |
0x00 | CS | Node-ID |
当Node-ID=0,则所有的NMT从设备被寻址。CS是命令字,可以取如下值:
命令字 | NMT服务 |
1 | Start Remote Node |
2 | Stop Remote Node |
128 | Enter Pre-operational State |
129 | Reset Node |
130 | Reset Communication |
4.3.4 NMT节点保护(NMT Node Guarding)
通过节点保护服务,MNT主节点可以检查每个节点的当前状态,当这些节点没有数据传送时这种服务尤其有意义。
NMT-Master节点发送远程帧(无数据)如下:
NMT-Master →NMT-Slave
COB -ID |
0x700 + Node-ID |
NMT-Slave节点发送如下报文应答:
NMT-Master ←NMT-Slave
COB -ID | Byte0 |
0x700 + Node-ID | Bit7:toggle Bit6-0:状态 |
数据部分包括一个触发位(bit7),触发位必须在每次节点保护应答中交替置“0”或者“1”。触发位在第一次节点保护请求时置为“0”。位0到位6(bits0~6)表示节点状态,可为下表中的数值。
Value | 状态 |
0 | Initialising |
1 | Disconnected |
2 | Connecting |
3 | Preparing |
4 | Stopped |
5 | Operational |
127 | Pre-operational |
4.3.5心跳报文(Heartbeat)
Heartbeat Producer → Consumer(s)
COB -ID | Byte0 |
0x700 + Node-ID | 状态 |
状态可为下表中的数值:
状态 | 意义 |
0 | Boot-up |
4 | Stopped |
5 | Operational |
127 | Pre-operational |
当一个Heartbeat节点启动后它的启动报文是其第一个Heartbeat报文。Heartbeat消费者通常是NMT-Master节点,它为每个Heartbeat节点设定一个超时值,当超时发生时采取相应动作。
一个节点不能够同时支持NodeGuarding和Heartbeat协议。
4.3.6 NMT Boot-up
NMT-slave节点发布Boot-up报文通知NMT-Master节点它已经从initialising状态进入pre-operational状态。
NMT-Master ←NMT-Slave
COB -ID | Byte0 |
0x700 + Node-ID | 0 |
4.3.7应急指示对象:
应急指示报文由设备内部出现的致命错误触发,由相关应用设备已最高优先级发送到其它设备。
适用于中断类型的错误报警信号。
一个应急报文由8字节组成,格式如下:
sender → receiver(s)
COB -ID | Byte0-1 | Byte2 | Byte3-7 |
0x800 + Node-ID | 应急错误代码 | 错误寄存器 (对象 0x1001) | 制造商特定的错误区域 |
4.3.8 NMT状态控制过程:
CANopen启动过程,可以用节点状态转换图表示这两种初始化过程,如下图所示。
注意:
图中括号内的字母表示处于不同状态那些通讯对象可以使用。
a.NMT,b.NodeGuard,c.SDO,d.Emergency,e.PDO,f.Boot-up
状态转移(1-5由NMT服务发起),NMT命令字(在括号中):
1:Start_Remote_Node (0x01)
2:Stop_Remote_Node (0x02)
3:Enter_Pre-Operational_State (0x80)
4:Reset_Node (0x81)
5:Reset_Communication (0x82)
6:设备初始化结束,自动进入Pre_Operational状态,发送启动消息
在任何时候NMT服务都可使所有或者部分节点进入不同的工作状态。NMT服务的CAN报文由CAN头(COB-ID=0)和两字节数据组成;第一个字节表示请求的服务类型(‘NMTcommandspecifier’),第二个字节是节点ID,或者0(此时寻址所有节点)。
设备进入准备状态后,除了NMT服务和节点保护服务(如果支持并且激活的话)外,将停止通讯。
4.4配置软件
配置模块需要使用配置软件,用户可以从光盘或者网站上获取并安装,用户使用网关配置软件可以轻松完成 PN - CANopen的配置,从上到下分别分标题栏、菜单栏、工具栏、设备树,以及配置区,下面详细说明这 5部分的功能,主界面如下图:
4.5运行
4.5.1数据交换
PN - CANopen的PROFINET网络和CANopen网络之间的数据转换是通过“映射”关系来建立的。在 PN - CANopen中有两块数据缓冲区,一块是输入缓冲区(1.5K字节),地址范围为 0x000-0x5ff;另一块是输出缓冲区(1.5K字节),地址范围同样为0x000-0x5ff。
4.5.2 PROFINET从站
假定用户配置的输入数据的长度为 L1,输出数据的长度为 L2。PN - CANopen会把[0x000,L1]地址范围内的数据发送到PROFINET网络中,当从PROFINET网络接收到数据是,PN - CANopen会将数据写到[0x000,L2]地址范围内。
4.6软件安装
在安装 CANopen Configuration Tools(以下简称 CCT)软件时,推荐使用的计算机配置如表所示。
环境 | 类型 | 型号 |
硬件环境 | 显示器 | 彩色CRT |
输入输出 | 标准键盘,鼠标 | |
USB接口 | 至少一个2.0接口 | |
显卡 | 分辨率支持 1280×1024 | |
CPU | Intel Pentium 2.4GHz以上 | |
内存 | 512M以上 | |
硬盘 | 10G以上 | |
软件环境 | 操作系统 | Windows7 |
应用软件 | CANopen 配置套件V2.3.2.8 |
安装 CCT软件的主要步骤如下所述。
第 1 步 启动安装向导
双击安装包,弹出如下图,点击下一步:
第 2 步 选择安装位置
选择安装位置,点击下一步:
第 3 步 开始安装
选择安装,点击开始安装:
第 4 步 正在安装
安装过程需要几分钟:
第 5 步 安装完成提示
安装完毕,弹出“CCT安装完成向导”窗口。鼠标左键单击“完成”立即运行 CCT,如下图所示。
4.7用户界面介绍
用户界面主要由以下部分构成,如图
4.7.1标题栏
用于显示软件的名称,如果打开或保存了一个CANopen配置工程,也将显示其所在的路径。
4.7.2菜单栏
提供软件所支持的工程文件操作,比如打开、保存;以及工程的下装与串口设置等。
4.7.3工具栏
用于快速访问菜单栏中的各个功能。
4.7.4设备树
用于组态需要的硬件设备,一共分为两个区域,分别是:
主站设备:列出组态到工程中的主要设备,主设备只能添加一个。
从站设备:列出组态到工程中的从属设备,从属设备可以添加多个。
4.7.5配置区
用于详细配置主设备与从设备的信息,只有当选择了对应的设备时,才会在配置区显示其信息,该区域包含如下5个页面:
通用属性:设备的概述与总体信息,比如设备名称、厂商信息。
错误控制:用于配置设备是工作在心跳模式,还是监听模式。
PDO参数:提供对RPDO与TPDO对象的参数控制。
设备参数:提供对设备的通信区域、制造商区域,以及标准化区域等内容的组态配置。
在线监视:监视数据。
4.8开始使用
该部分将用一个最简单的流程来说明本软件的使用方法。
4.8.1创建新工程
启动CANopen 配置套件,软件会自动创建一个空的工程,如图所示。
4.8.2添加主要设备
选中主设备,右击添加设备,弹出“设备目录”对话框,如图所示。然后从“主设备”列表中选择“JY-ET-005”作为主要设备,点击“确认”返回主界面。
4.8.3添加从属设备
选中从属设备,右击添加设备,弹出“设备目录”对话框,如下图所示。例如添加CANopen Step Motor Driver作为从属设备。
选择从属设备,点击“确认”后,弹出该从属设备的设备属性,可以修改节点ID。
4.8.4删除从设备
单击左键选中设备,然后右击鼠标选中“删除”,如下图所示。删除CANopen Step Motor Driver从属设备。
4.8.5配置串口
单击工具栏上的“配置串口”按钮,弹出“设置”对话框,如图所示。选择或输入要使用的串口,然后单击OK按钮返回主界面。
4.8.6生成下装文件
单击工具栏上的生成程序文件按钮,生成下装用的二进制文件。如果生成过程中没有错误,那么会弹出“生成成功!”确认框。
4.8.7下装
将生成的二进制文件,通过串口下载到硬件。如果下装时没有生成文件,那么会自动生成需要的文件。
4.8.8保存工程
单击“文件”菜单中的“保存”,文件名为xxxx,将当前工程保存到硬盘上,以便后续可以继续使用。这里默认的后缀名为.canproj,代表是一个CANopen的工程文件。
4.9配置视图操作
4.9.1 PROFINET配置
点击主站设备JY-ET-005的设备参数:
上述参数描述如下:
设备名称:描述该设备在 PROFINET网络中的名称;
IP地址:设备IP地址;
子网掩码:设备子网掩码;
网关地址:在局域网的网关地址;
注意:设备名称必须和TIA Portal软件的设备名称一致,PROFINET设备名称如下图:
IP地址必须与TIA Portal软件设置的IP一致。例如配置软件为192.168.0.5,与TIA Portal的IP地址(192.168.0.5)一致。
4.9.2导入新的 EDS文件
将EDS文件复制至安装目录下的“CANopen Configuration Studio\Devices\EDS”,比如采用默认的安装目录则复制至“C:\Program Files (x86)\JiYuan\CANopen Configuration Studio\Devices\EDS”目录下即可,重新打开软件。
4.9.3中英文切换
此软件支持中文和英文两种语言,在“语言”中选择“英文(E)”,可以将软件切换为英文模式,如下图所示:
在“Language”中选择“Chinese”,可以将软件切换为中文模式;
4.9.4 PDO参数
无需配置的RPDO或TPDO选项去掉前端的勾选项即可;
右击对应的RPDO或TPDO添加对象;选择相应的索引,点击添加,添加完成后关闭对话框;
4.9.5设备参数
4.9.6错误控制
心跳(生产者时间,消费者时间)
节点保护(守护时间,寿命因子)
心跳和节点保护为互斥使用,
心跳一般从站作为生产者,主站作为消费者,主站监视从站
节点保护:主站请求从站状态,从站上报状态给主站,用于相互监视。
4.10数据映射
4.11加载和保存配置
4.11.1保存配置工程
在“文件”中选择“保存”,可以将配置好的工程以.canproj文件保存,如下图所示:
4.11.2加载配置工程
在“文件”中选择“打开”,可以将保存的.canproj文件打开。
提交
EtherCAT转PROFINET应用
PROFINET转Modbus与KUKA
骥远自动化PROFINET转Modbus
PROFINET转CANopen变流器
PROFINET转CANopen网关应用