PLC系统中pos是什么(编码器多系统共享)

快鱼网 21 0

原创投稿003

编码器多系统共享

李文帅

一台设备 由于功能开发需求,如涉及到同时使用 2个或多个 贝加莱 PLC ,并且每个系统都需 要各随同一个主轴位置运行,除了安装多编码器外可通过 PLC 之间 利用 Powerlink通讯 实现编码器位置时传输 ;这种方案可实现系统实时通讯,并且节约了成本 。

此文档主要是涉及到 工程配置、数据 通讯以及编码器数据无丢失的实时传送 转化等内容 。

一、PLC通讯方式

多PLC之间实现数据通讯交互,可以通过贝加莱的Powerlink通讯方式、Profibus通讯、Profinet通讯、Ethercat通讯等;基于贝加莱的PLC最佳是通过Powerlink通讯,这种方案只需要增加一个Powerlink从站通讯模块,同时通过工程配置即可完成数据的实时传输。

二、工程组态配置

工程举例如下:

1) 创建一个 AS工程 PLC_Project

2) 工程中创建两个配置:Master/Slave

Master中配置一个 APC910的工控机;

Slave中配置一个 X20CP1586的PLC

3) 在实现两个系统的数据通讯, Master配置作为主站,Slave配置作为从站;

在 Slave配置中增加贝莱通讯模块X20IF1082

对于 X20IF1082配置重点注意

a) Oper Operating mode mode: POWERLINK V2

b) Cycle time : 400 微秒 循环时间必须保持主从站一致

c) 在 I/O Data 中增加要通讯的数据道,类型根需求选择 中增加要通讯的数据道,类型根需求选择

如增加通道 Channel 1 类型 REAL

数据传输方向需要选择, Output/Input

4) Master配置中增加的站点

a) PLK 增加站点,增加贝莱的通讯控制组件 POWERLINK V2 intelligent Controller:epl_icn

b) epl_icn配置中重点是选择对应的名称以及通讯接口

c) 配置完成后双击 epl_icn可查看通讯的 I/O Mapping窗口,配置对应的数据

三、编码器数据的传输 实现主轴共享

以上工程配置建立了数据的通道,在通道中增加相应的数据即可在主从站之间实现数据的交互;对于编码器数据的交互,举例如下:

编码器为单圈绝对值编码器,且一数据为 Units;通过以下编程控制可实现编码器从Slave传送到Master;

1)对于编码器的数据传输最佳事2的整数倍,则可通过编码器轴与虚轴同步,将0~转换成0~

a)创建一个虚轴与编码轴同步,同步模式为直接同步,确定主从轴;

b)创建曲线Gerade,曲线放入循环配置;用MC_CamTableSelect 功能块选择曲线Gerade

曲线如下:

c)利用 MC_GetCamSlavePosition功能块读取当前编码器位置,根据曲线获取到当前从轴需要的位置

d) 根据获取到的从轴位置利用MC_MoveAbsolute功能块运行虚轴到对应位置

e) 完成以上动作后使虚轴与编码器进行同步(MC_CamIn),同步后就可以通过Slave配置的 PLK 通道将此数据传送到主站

2) 编码器数据在Master中通过的读取道获到数值,对通讯数据转换成需要的编码器数据

a) 获去通道数据,关联变量

b) 在编写程序中创建三个UDINT变量,对得到的数据进行转存处理,初始化段对三个变量赋值

udiEncorderTemp=((DINT)grMainEncorderPos)*256*2048/4

udiEncorderOld=((DINT)grMainEncorderPos)*256*2048/4

udiEncorderRef=(DINT)grMainEncorderPos;

c) 初始完成后,将获取到的数据处理利用MC_BR_CyclicWrite功能块,将此数据写入到虚轴的一个ID上如4096,数据类型ncPAR_TYP_DINT;

在程序的循环执行时,需对获取到的数据做如下处理

udiEncorderTemp=((DINT)grMainEncorderPos)*256*2048/4

udiEncorderRef=UdiEncorderRef+(udiEncorderTemp-udiEncorderOld)/(256*2048/4);

udiEncorderOld=udiEncorderTemp;

d) 创建一个到转换的曲线 Gerade01,选择此曲线为虚轴选择运行的线

曲线如下:

e) 虚轴同步主轴ID,而非主轴,主轴ID (MasterParID)可设定为上述写入的 4096 , 也可根据需求对的数进行滤波处理,处理后的数据作为虚轴同步的主轴ID;

利用MC_CAMIN功能块,同步模式为7;

f)进入同步状态后,根据传输得到的数据计算当前编码器位子,计算得出偏移量rShift-grMainEncorderPos*/-虚轴当前位置;

执行MC_BR_Offset功能块,重要参数设定如下

MC_BR_Offset.Shift:=rShift;

MC_BR_Offset.ApplicationMode:=1;

MC_BR_Offset.ShiftMode:=0;

在 offset执行完成后,此虚轴的位置将于Slave中的编码器轴一致;Master配置中即可实现将其他轴跟随此虚轴进行同步控制 ;

通过以上工程的配置, 组态 ,控制程序的编写即可实现多 PLC 之间的编码器共享,对于需要同步控制等工程项目来说比较实用,并且节约成本数据通讯的 稳定性及安全系数较高。

标签: 编码器

抱歉,评论功能暂时关闭!