台达CANopen模块与倍福PLC通讯之实现方法

合集下载

倍福NC与KINCO JD伺服连接说明20151026

倍福NC与KINCO JD伺服连接说明20151026

倍福NC与KINCO JD伺服CANOPEN通讯步骤1.设备(1)控制器: BECKHOFF(2) CANOPEN: BECKHOFF EL6751(3)伺服驱动器: Kinco JD630(4)电机: Kinco SMH-130D-0377-30ABK-HH(5)连接线:PC与JD630使用USB-RS232线EL6751与JD630接线方式:(两端2、7之间分别连接120欧姆电阻)JD630 EL67512(CAN_L) 23(CAN_GND) 37(CAN_H) 7注意:多个站通讯时要在首站(PLC)、末站2、7脚之间分别加120欧姆终端电阻。

通讯线必须使用屏蔽双绞线,屏蔽网焊在9针头的金属壳上。

3.使用软件TwinCAT 和JD-PC4.调试流程(1)电脑与伺服驱动器的连接,配置伺服电机,设置驱动器参数(2)通过CAN总线建立倍福与KINCO伺服系统的连接。

5.配置Kinco的驱动器5.1电脑与伺服驱动器的连接配置Kinco的驱动器需使用Kinco的JD-PC 软件,此软件无需安装,下载之后解压缩即可直接使用。

(1)打开JD-PC 软件包,双击图标,打开软件使用平台如下:菜单栏工具栏(2)新建工程在软件界面上单机文件→新建,弹出如下对话框选择RS232C,点击下一步(3)进入通讯属性选择界面,设置COM,波特率,驱动器ID下图为默认设置参数,COM口编号根据USB-Serial线连接的电脑USB接口的不同而不同,驱动器ID在出厂时已设置为1。

在设置完成后点击通讯状态按钮。

注意:若不知道驱动器当前站号,可以把驱动器ID设置成广播地址127,然后连上驱动器在驱动器/控制面板/F005组参数中可以查看修改驱动器ID。

(4)观察软件界面右下角属性Comm Status:Open COM1 38400,通讯状态指示灯也变绿,证明已经联机成功。

此时,工具栏的指示灯呈绿色,闪烁状态,如下图打开驱动器/基本操作页面可以看到驱动器当前的一些工作状态。

PLC增加CANopen通讯能力的方法

PLC增加CANopen通讯能力的方法

PLC增加CANopen通讯能力的方法文档版本:2018/2/1PLC增加CANopen通讯能力的方法一、写作背景目前在工业上,使用PLC控制的场合越来越多。

PLC具有可靠性高、适用性强、易学易用、体积小、重量轻、能耗低等优点,在工业控制领域中被广泛使用。

目前市面上比较常见的PLC是西门子S7-200(图1)和西门子S7-300(图2)等。

这些PLC一般只具有RS232/RS485或以太网接口,并且使用Modbus协议进行通信。

但是随着时代的发展,越来越多的从站设备附带了CANopen协议,例如:伺服控制器(图3)、变频器(图4)、CANopen远程I/O(图5)、传感器(图6)。

这样就造成不支持CANopen协议的PLC与CANopen协议从站设备之间无法建立通信。

图1 西门子S7-200图2 西门子S7-300图3支持CANopen通信的伺服控制器伺服控制器图4支持CANopen通信的变频器图5 CANopen远程I/O图6支持CANopen通信的传感器二、解决问题的方法1. 直接购买带CANopen通信的PLC此种方法必须使用新的PLC替换原有的,不但需要对新的PLC重新开发编程还会造成成本升高的问题。

2. 外接CANopen转换模块此种方法非常灵活,转换模块可以按需定制,在不改变原有PLC的硬件结构的前提下外加一个CANopen通信模块,即可实现使用CANopen协议通信。

这里我们以西门子PLC为例说明如何使用外接CANopen转换模块的方式,将PLC扩展出CANopen通信接口。

具体结构如下图7拓扑结构图所示。

图7 拓扑结构图1、设备说明沈阳广成科技GCAN-303/304型号分别是Modbus RTU/TCP转CANopen主站模块,用户可以根据自己PLC的实际情况选择对应的模块与PLC搭配实现CANopen通信能力。

2、配置沈阳广成科技的GCAN-303/304只需要使用简单的配置软件完成参数配置,就可以正常使用,图8是GCAN-303/304的配置界面截图。

台达CANopen通讯伺服PR位置控制

台达CANopen通讯伺服PR位置控制

台达CANopen通讯伺服PR位置控制16.17 通过CANopen 总线控制ASDA-A2伺服驱动器(DS301)¢控制要求当 X0=ON ,X1=OFF 时,ASDA-A2伺服驱动器Servo on 。

当 X1=ON ,X0=OFF 时,ASDA-A2伺服驱动器运转,运转至目标位置处停止。

¢连接示意图¢台达ASDA-A2伺服驱动器通讯参数设置¢与本例相关的ADSA-A2伺服驱动器的参数说明参数设置值说明P1-01 1 设置伺服工作模式为位置模式。

P03-002设置ASDA-A2伺服CANopen 站号P03-01 0400ASDA-A2伺服CANopen 通讯速率设置为1Mbps 。

P03-01的第三位用于设置伺服的CANopen 通讯速率,其值与通讯速率对应关系如下所示:0:125Kbps 1: 250Kbps 2: 250Kbps 3: 500Kbps 4: 1M Kbps参数设定值参数说明P0-17 0 P0-09的监控值为伺服电机反馈单元。

P0-18 1 P0-10的监控值为命令单元和电机反馈单元的误差值。

P2-10 101 DI1(外部输入点)功能设定,DI1设定为servo on 。

P2-11 111 DI2(外部输入点) 功能设定,DI2设定为多端位置选择。

P2-12112DI3(外部输入点)功能设定,DI3设定为多端位置选择。

备注:伺服驱动器共有64段位置可供选择,选择哪一段可通过外部输入端子进行选择,各段位置的加减速时间、速度及目标位置可根据各段位置参数进行设定。

此范例中以第一段位置为例进行说明,第一段位置的位置参数为P6-02,P6-03。

¢模块设置按照下表分别对DVPCOPM-SL 扫描模块进行设置¢使用 CANopen 网络配置工具配置网络1. 打开 CANopenBuilder 软件,软件界面如下图所示。

P2-13 113 DI4(外部输入点)功能设定,DI4设定为多端位置选择。

关于CANopen通讯模块的使用方法

关于CANopen通讯模块的使用方法

关于1 SICANopen通讯模块的使用方法一、STEP7硬件组态的建立:1、按实际硬件情况建立组态并将1 SI CANopen模块插入;3(0)inisi-8 nm CPU「1A2 ________ ms 1-8 P9/W "VIl n /irIFpjr-iDPert i,三12 P2 K Fort 2X1 P3\Are 31234PM-E DC24V5| 1 SI CANopen 32 Byt<6789101112ni- 4| co) imsi-8 PS/DP CPU怖稽[j 酸...订货号固一nn Jfiid i地址Q地址诊得地址注穿12即msi-s P9/DP CFV6IS7 151-GABO1-0A90Y3 22212047^Xi n *I*/冢如Il P2 l 1 foe 22(X5/力乃J P。

八3aw*的分1234y PH-E DC24y BEST 138-4CAOI-OAAO204A2043*5 1 1 SI CAKopon 32 Byte020570-B VI.0100. . 13!100. 13167在STEP 7硬件组态中,双击1 SI CANopen模块,在弹出的窗口中选择Addresses页面。

此处设置32个输入和输出字节的起始地址。

本例中起始地址设为十进制100。

2、1 SI CANopen模块的设置;在性-1 SI CANopen 32 Byte - (R0/S5)常规Addresses | Identification确定选择“参数”页面,设置“Baudrate”以及input/output data size,如上图所示。

PS:理论上Process data mode因为本次传输数据在32 Byte内,可选择Standard模式,但不知道为什么会报错,所以选择Fragmented模式。

双击STEP 7硬件组态中的CPU,选择“周期/时钟存储器”,修改过程映像输入/输出区的大小。

C#与倍福PLC通信的方法与实例

C#与倍福PLC通信的方法与实例

C#与倍福PLC通信的⽅法与实例前⾔公司使⽤CPP代码与PLC通信, 通信⽅式为ADS(倍福开放的通信⽅式).偶然间发现倍福的ADS通信还⽀持其他好多种语⾔, 恰好最近在⽤C#写⼀些设备调试的⼩程序, 就尝试了下⽤C#写了⼀个demo程序, 可以做到控制⼀个⼩电机.下⾯会对接⼝⽂件做⼀些说明, 并贴出实现代码.准备⾸先需要在⼯程中引⼊倍福官⽅提供的动态库, 位置在:C:\TwinCAT\\v4.0.30319, 当然如果你安装的倍福版本和我不⼀致, 最后的版本号可能会有变化.引⼊⽅式是在⼯程中右击引⽤, 点击添加, 然后去对应的⽂件夹下找到库⽂件, 最后在代码开头using⼀下, 如下图所⽰:编码1. 相关接⼝简介这⾥⽤的类是TwinCAT.Ads.TcAdsClient, 主要是充当客户端⾓⾊, ⽽PLC充当服务器.⼯程中声明这个类的实例后, 可以跳转到接⼝⽂档, 其中:public void Connect(string netID, int srvPort);与PLC建⽴连接, 参数分别是AmsNetId和AmsPort, 另外还有5个重载⽅法, 没有本质区别.public bool Disconnect();断开与PLC的连接.public int CreateVariableHandle(string variableName);根据变量名称建⽴通信句柄, 根据该句柄可以对指定变量进⾏读写.public int Read(int variableHandle, AdsStream dataStream);读句柄指向的PLC变量, 内容存到AdsStream类型变量中, 该类型看起来是个stream, 从⽗类⾥看, 应该可以转化成字符数组.public int Read(long indexGroup, long indexOffset, AdsStream dataStream);倍福把不同种类的变量⽤indexGroup区分, indexOffset则需要去倍福⼯程内寻找, ⽤起来挺⿇烦的, 试过, 很快就删了...public object ReadAny(int variableHandle, Type type);从句柄内读取指定类型的数据, 返回结果也是⽤户⾃⼰决定是什么, ⽐较⽅便地接⼝.public void Write(int variableHandle, AdsStream dataStream);与Read类似, 也有根据变量表索引去写的, 不再赘述.public void WriteAny(int variableHandle, object value);与ReadAny类似public int AddDeviceNotification(...);添加绑定变量, 根据句柄或索引表绑定到PLC, ⼀般⽤于监控PLC变量的变化.public int AddDeviceNotificationEx(...);上⾯的拓展⽅法, 区别是下⾯这个没有AdsStream类型参数.public event AdsNotificationEventHandler AdsNotification;委托列表, 可以加回调函数, 它会在上⾯被绑定的变量出现变化时触发.public event AdsNotificationEventHandler AdsNotificationEx;类似.2. PLC部分本⽂主要讲上位机的实现, 这部分简单带⼀下.主函数调⽤⼦程序:TestAxisCtrl();, 该⼦程序⾥调⽤⼀个写好的功能块:AxisFb(), 所以接⼝名就是: "TestAxisCtrl.AxisFb.".3. 上位机界⾯中间的控制区是GroupBox, 根据连接状态决定是否可⽤.下⾯有⼀个状态栏, 如果出现运⾏时错误会在这⾥打印.4. 连接与断开⾸先是全局变量和Form_Load:点击查看代码这⾥主要把实例和⼀些共⽤的属性放到全局, 在界⾯加载时初始化实例, 并读取配置⽂件中记载的AmsNetId. 然后就是连接和关闭按钮对应的触发函数:点击查看代码这⾥⽐较简单, 没啥好解释的.5. 变量写⼊(使能和动作)这⾥有点区别, 因为PLC变量有些是电平保持的, 有些是边沿触发的. 对于边沿的, 绑定click事件就⾏, 每次click都是上次结果的取反. ⽽边沿信号就要⽤Down和Up事件, ⽐如定位操作, ⿏标按下发置true, 松开就置false.保证发送给PLC的是⼀个脉冲(这部分也要看PLC的接⼝实现⽅式,也可以做成⾃复位的, 因为公司⾥都这么⽤, 就习惯了).代码如下:点击查看代码这样, 每个按钮绑定的事件调⽤该函数就⾏, 省去了每次都写⼀堆的⿇烦:)6. 变量反馈倍福是⽀持事件触发回调的, 实现⽅式是先加Notify, 绑定到指定的PLC变量, PLC变量发⽣改变时触发(需要设置触发模式等参数).实现代码如下:点击查看代码上⾯4条是绑定了我想监控的PLC变量, 第5条绑定了⾃定义触发函数`ProcessOutput()`. 每次这些变量发⽣改变就会触发该函数, 该函数具体如下:点击查看代码根据`NotificationHandle`确定是谁触发了该函数, 然后跳到指定分⽀执⾏逻辑.7. 效果最后附上运⾏效果图:。

变频器设备如何快速实现CANopen 通信

变频器设备如何快速实现CANopen 通信

变频器设备如何快速实现CANopen 通信基于CANopen协议的XGate-COP10应用1.1 引言步入20世纪80年代,全球变频器技术变革速度加快,走向成熟的变频产品被广泛应用在国民经济的各个行业中。

随着中国变成世界工厂,制造业的快速发展也为变频器产品提供了越来越大的市场空间。

然而时至今日,国内变频器市场可以说是外国人的天下。

随着基于CAN总线的CANopen协议的发展,在国外特别是欧洲等地区的变频器都提供CANopen接口,因此为了对国外的产品兼容也要求国内厂商的产品提供CANopen接口。

本期文章将介绍如何利用XGate-COP10协议转换模块快速设计一款基于CANopen从站协议接口的变频器设备。

1.2 XGate-COP10简介XGate-COP10是一款CANopen从站协议转换模块,内部集成了CANopen从站协议栈,遵循CiA DS301 V4.02进行设计,其内部集成了网络管理(NMT)、服务数据(SDO)、过程数据(PDO)、错误管理等功能。

同时也遵循了DS303-3指示灯以及DS305层设置(LSS)等相关协议,使模块功能更强大。

所有的功能均通过CiA的一致性测试软件的测试,保证了与其它CANopen设备良好的兼容性。

XGate-COP10为DIP24封装,拥有较小的占位面积(6cm2),使其更容易集成到设备中。

其硬件设计也非常简单,其外观图如图1所示。

图 1 XGate-COP10外观图1.3 变频器简介1.变频器原理变频器是利用电力半导体器件的通断作用将工频电源变换为另一频率的电能控制装置。

现在使用的变频器主要采用交—直—交方式(VVVF变频或矢量控制变频),先把工频交流电源通过整流器转换成直流电源,然后再把直流电源转换成频率、电压均可控制的交流电源以供给电动机。

变频器的电路一般由整流、中间直流环节、逆变和控制4个部分组成。

整流部分为三相桥式不可控整流器,逆变部分为IGBT三相桥式逆变器,且输出为PWM波形,中间直流环节为滤波、直流储能和缓冲无功功率。

台达CANOPEN模块

台达CANOPEN模块
2 DVPCOPM-SL 单元部件 .....................................................................................................................7 2.1 外观尺寸 ....................................................................................................................................7 2.2 各部介绍 ....................................................................................................................................7 2.3 CANopen 通讯连接器 ...............................................................................................................8 2.4 地址设定开关.............................................................................................................................8 2.5 功能设定开关.............................................................................................................................8 2.6 数字显示器 ................................................................................................................................9

台达PLC通讯调试方法

台达PLC通讯调试方法

台达PLC通讯调试方法。

台达PLC出厂通讯格式为,ASCII,9600,7,E,1,支持功能码03H,06H,10H,如用串口调试程序向PLC(站号为1)的D0写H1770,ASCII字符为: “: 010610001770620d0a”应在串口调试程序中写入的16进制代码为: 3A 30 31 30 36 31 30 30 30 31 37 37 30 36 32 0D 0A 注意阿ASCII模式下字符0对应16进制30H,1对应16进制31H ,依次类推......你的串口协议是对的,与PLC的默认协议完全相符,PLC不用再作协议设定。

你发送的数据中有几个错误:1、尾码不是0A0D,而应是0D0A。

2、16进制数据与ASCII码混在了一起,"010*********"是ASCII码,应全部转换为16进制。

正确的字符串数据是=":"+"010*******"+LRC码("EA")+CR(0D)+LF(0A)转换为16进制="3A3031303130343030313045410D0A",你把引号内的内容复制到你的串口调试软件中,按16进制发送试试。

我已经试过了,返回数据是=":01810777" (3A 30 31 38 31 30 37 37 37 0D 0A)我是一个PLC初学者,在Micro Programmable Logic Controller FC4A使用手册中,遇到一个问题:在17-2中电缆线连接器脚位表格下,有一个“注:准备连接埠1的电缆显示,请不要插入第6和7针。

如果第6和7针连接在一起,便无法使用使用者通讯。

”但是现在所配制的电缆就是第6和7针之间的电阻值接近于0。

在WindLDR中,简单输入输出和定时、计数器可以编程并下载到PLC中正常运行,在使用TXD和RXD指令时按照手册中所述进行梯形图编程时,无法运行,接收状态码显示15,无法进行串行通讯。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档