TC3培训教程
TwinCAT概述
TwinCAT3软件总体框架的介绍
- SAFETY:编辑安全逻辑和安全参数的配置,支持在线监控和诊断
- C++:高级编程控制(右键具体C++工程,新建Module,即可实现变量关联)
- I/O:用于硬件组态、参数配置、变量映射以及在线诊断和调试
二、TC3扫描IO变量连接
1、连接目标控制器
【注意事项】
1、连接远程IO,目标控制器,需要先将pc端的ip设置与控制器在相同的网段内。
2、TwinCAT Properties 【System】→【Auto Boot】→ 【Enable】
2、扫描IO以及变量连接
变量连接的含义:是将软件中的变量关联到IO模块输入输出引脚。
三、TwinCAT3编程语言的IEC61131-3标准
2、IEC61131-3内容
CheckBounds用来访问数组变量时,索引值超出数组长度的情况。
(1)、全局变量和局部变量
【VAR
局部变量POU
END_VAR】
【VAR_GLOBAL
局部变量GVL
END_VAR】
(2)、自定义和自动内存分配
【自动内存分配】
输入输出变量可以通过“AT%I(Q)* ”来进行声明,AT%是关键字,I(Q)表示输入输出;* 表示自动分配一个内存地址给这个变量。
【自定分配内存地址】
在%I(Q)接地址存储数据的类型,X表示BOOL型,B表示BYTE,W表示WORD,D表示DWORD。
在TwinCAT3中常量和断电保持型数据的声明方式是在变量声明区域关键字后加相应的关键字,常量是CONSTANT,继电保持型数据是PERSISTENT。
常量:在系统初始化完成后,只能进行读写操,不能进行赋值。
断电保持型变量:将变量值保存到本地硬盘中,设备重新上电后,自动进行读取,所以在断电前需要调用断电保持型变量的写入功能块进行操作。
可以通过【DUTs】来声明结构体数据,共用体数据和一些自定义数据。
程序单元由程序、功能块、函数组成:
ST语言的条件选择,循环,函数调用:
四、TwinCAT3简单程序及功能块介绍
问题:初始量a是何来?为何a会变化?
未赋值变量具有默认初始值,暂停或停止程序依旧会保留当前数据,只有plc断电或手动更改才行。
1、新建TwinCAT3项目
【新建tc3 project】→【新建PLC project】
2、TwinCAT3的条件语句和循环语句的介绍
3、TwinCAT3的功能块介绍
功能模块介绍
3.1、双稳态功能模块
RS功能块
rs(SET:= , RESET1:= , Q1=> );
SET 为真则 Q1 为真,RESET1 为真则 Q1 为假,当 SET 和 RESET1 都为真时,以 RESET1 为真
3.2、计数器模块
CTD功能块
ctd1(
CD:= ,
LOAD:= ,
PV:= ,
Q=> ,
CV=> );
PV设置起始值,LOAD将PV值设置到CV,CD 上升沿触发CV减1,CV表示当前计数值,CV为0时Q为TRUE,CV等于0时向下递减无效
3.3、毫秒计时器
TON功能块
t1(IN:= , PT:= , Q=> , ET=> );
IN 上升沿触发定时器开始,下降沿重置定时器; 定时器触发后经过PT时间段置Q为TRUE; ET 为定时器实时计时
五、TwinCAT3 PLC HMI可视化编程
1、可视化项目简介
1.1、新建可视化项目
【PLC】→【VISUs】→【Add】→【Visualization】
1.2、按钮控制小灯
将程序里的变量与可视化控件进行连接
1.3、计量仪的添加和显示
可修改量程
1.4、字符串的输入和显示
【inputCofiguration】需将文本中的输入信息关联到变量
1.5、画面切换
1.6、动态文本显示
1.7、语言转换
【GlobalTextList】→ 【Add Language】
2、TwinCAT3 PLC HMI在XP和win7系统中的全屏显示方法
2.1、全屏显示方法
【Visulation manager】→【target Visualization】
2.2、XP和WIN7系统中PLC HMI 开机自启动
3、在CE操作系统上的全屏显示方法
4、TwinCAT3 HMI-web 使用方法
六、运动控制介绍
6.1、TwinCAT NC PTP介绍
BeckOff系统式涵盖PLC继电器控制、点位控制NC PTP、简单凸轮齿轮控制NC PTP、中型数控技术NCI(三轴插补和五轴联动)控制的大型CNC系统。
TwinCAT NC PTP:是BeckOff的运动控制软件
TwinCAT:“The Windows Controls and Automation Technology”,是基于Windows操作系统的自动化控制技术。
NC:“NUmerical Control”,即运动控制。TwinCAT NC与plc运行在同一个CPU上,运动控制和逻辑控制之间的数据交互更加直接,效率更高。
PTP:“Point To Point”,即点对点控制方式。可控制单轴定位或定速,也可以实现两轴之间的电子齿轮、电子凸轮同步。
- (1)TwinCAT NC PTP与TwinCAT PLC的关系
PLC轴: PLC程序定义中的轴变量
NC轴: 在NC配置界面定义的AXIS
物理轴: 在IO配置中扫描或添加的运动执行和位置反馈的硬件
PLC轴→NC轴→物理轴
PLC轴控制:指PLC程序中编程,调用运动控制库的功能块。
NC轴控制: 不需要编程,分为轨迹规划、PID运算和IO接口处理。【System Manager】
物理轴控制:指对驱动器(电机型号、PID参数)、电机、编码器的配置。
TwinCAT NC轨迹规划:
指接收到PLC指令以某个速度运动到某个位置后,计算得出每个NC周期伺服轴应该达到的位置。
IO接口处理:
指根据轴的硬件类型和相应的参数设置,进行单位换算,将NC运算出的目的位置,转换成驱动器可接收的输出变量值。
- (2)TwinCAT NC PTP控制的轴的类型和数量
纯软件的运动控制,理论上为255。实际该软件能够控制轴的数量与PC或EPC的CPU速度、内存以及NC的任务周期有关。
TwinCAT支持多种伺服轴类型:
A、总线接口:按总线协议而不按厂家
B、紧凑型驱动模块
C、高速脉冲接口
D、模拟量控制
- (3)TwinCAT NC PTP 的控制周期
A、轨迹规划和PID运算的周期
是NC与伺服驱动器交换数据的周期,目标位置、当前位置、控制字、状态字都以这个频率更新。【System Manager】→【NC Task SAF】,默认值为2 ms。
B、NC与PLC交换数据的周期
NC轴状态、当前位置、使能信号等都以这个周期进行更新。【System Manager】→【NC Task SVB】,默认值为10 ms。
(4)TwinCAT NC PTP的配置、编程、调试
A、TwinCAT NC 的配置
主要是设置任务周期,多数情况下,使用默认值即可。
编码器(Enc,与驱动器配置决定了NC轴与哪个驱动器相对应)、驱动器(Drive)、NC控制器(Ctr,决定PID运算的模型和参数l)、与PLC的接口(Inputs和Outputs,决定它对应PLC程序中的哪一个轴结构类型变量)
B、TwinCAT NC 轴的调试
主要分为单轴点动、指定方式动作、双轴齿轮或凸轮联动。是为了确保电机走的准、稳,消除单位设置,PID参数,传动机械方面的误差。【System Manager】→【NC Configuration】
C、TwinCAT NC 轴的编程
在TwinCAT PLC中通过引用运动控制功能库 TcMC.Lib或TcMC2.Lib,并调用其中的功能来实现。
6.2、TwinCAT NC PTP硬件配置
-
(1)硬件扫描
实际轴与NC轴相连接、
电机:【Motion】→【Axes】→【Axis1】
驱动:【I/O】→【Devices】→【Drive】 -
(2)NC轴和物理轴的关系
获取当前扫描到的实际轴,并将NC轴连接到物理轴上
【Motion】→【Axes】→【Settings】→【Link To IO】
NC轴与物理轴就是通过这些变量来交换数据的,每个周期将驱动器的数据读取到NC中,NC处理完再将控制命令传给驱动器。 -
(3)AX5000的配置
用于配置驱动器所带的电机型号
【I/O】→【Devices】→【Drive】→【Goto Link Variable】
【Drive】→【Drive Manager】→【Motor and Feedback】→【Select Motor】(选择电机型号、驱动器实际供电类型、NC标度、NC参数)→【Feed Constant】→【Active Configuration】 -
(4)AX5000通过System Manager软件调试
激活配置、切换到运行模式下,即可对伺服轴进行调试【Motion】→【Axis】→【Online】
【Enabling】(使能激活)→【Ready】
【Parameter】→【Manual Velocity】调整默认慢速点动和快速点动的速度。
【Online】→【SetPoint / Target Position】调整当前位置和目标位置(绝对位置)
【Functions】→【Set Actual Position】修改轴的当前位置
【Functions】→【Start Mode】修改当前单轴的调试方法
电子齿轮功能:主轴和从轴的速度保持比例关系,从轴随主轴移动。
首先将两轴都使能,【Axis2】→【Coupling】设定响应参数即可。 -
(5)NC参数设置
【Parameter】设置参考速度、轴最大速度等参数
【Parameter】→【Monitoring】设置跟随误差的监视
【Asix】→【Enc】→【Parameter】中Scaling Factor Numerator(电机转动一圈最终工件移动量)、Scaling Factor Denominator(编码器反馈脉冲数) -
(6)添加第三方EtherCat 总线的伺服控制器
将对方设备的从站扫描文件----xml文件拷贝到C:\TwinCAT\3.1\Config\Io\EtherCAT路径中,然后重启TwinCAT软件。 -
(7)添加第三方厂家的伺服电机
-
将电机参数表提供给BeckOff技术工程师,返还此电机的xml文件,将其拷贝到C:\TwinCAT\3.1\Components\Base\Addins\TcDriveManager\MotorPool路径中,重启TwinCAT软件即可。
6.3、PLC Control控制电机
- (1)添加运动控制库文件和轴类型变量
1、在PLC下新建项目【MC 】
2、新建Tc2_MC2库文件
【MC】→【MC Project】→【References】→【Add Library】→【PTP】→【Tc2_MC2】
3、新建轴类型变量
PROGRAM MAIN
VAR
axis1,axis2 : axis_ref; //
END_VAR
4、对其编译,查看是否编写错误
【MC Project】→【Build】
-
(2)NC与PLC变量连接
【Motion】→【Axes】→【Settings】→【Link To PLC】
NC和PLC通过上述链接交换数据,NC将驱动器的状态位置反馈给PLC,PLC将功能块的控制数据写给NC。链接之后激活配置,重启为运行模式即可。 -
(3)调用功能块控制轴使能点动
1、新建HMI界面
【PLC】→【MC Project】→【VISUs】→【Add】→【Visulization】→【HMI界面】
2、使用Rectangle控件显示当前轴的实际位置
【ToolBox】→【Rectangle】→【Text】(Axis1:%.2f)→【Text variable】(MAIN.axis1.NcToPlc.ActPos)
3、使用按钮控件控制电机的使能和点动
在main声明MC_Power和MC_Jog功能块及其触发位,并将功能块中的参数填写完成。
3、交替Button控件控制使能和点动
更改其【Text】和【Toggle variable】(链接到对应功能块的触发位上)
4、使用Lamp表征使能
添加Lamp控制,更改其【Position Variable】(链接到MAIN.power1.Axis.NcToPlc.StateDWord2)
(4)调用功能模块控制轴走相对位置
1、声明MC_MoveRelative功能块对轴进行位置控制,以及其触发位,并将功能块中的参数填写完成。
2、新建按钮触发MC_MoveRelative功能块,更改其【Text】和【Tap variable】(链接到对应功能块的触发位上move_do)
-
(5)调用功能块控制轴改变当前位置
1、声明MC_SetPosition功能块对轴进行位置控制,以及其触发位,并将功能块中的参数填写完成。
2、新建按钮触发MC_SetPosition功能块,更改其【Text】和【Tap variable】(链接到对应功能块的触发位上set_do) -
(6)调用功能块控制轴停止以及复位
1、声明MC_Stop和MC_Reset功能块对轴进行位置控制,以及其触发位,并将功能块中的参数填写完成。
2、新建按钮触发MC_Stop和MC_Reset功能块,更改其【Text】和【Tap variable】(链接到对应功能块的触发位上stop_do、reset_do)
(7)调用功能块控制两轴电子齿轮耦合
1、声明MC_Homet功能块定位远点控制,以及其触发位,并将功能块中的参数填写完成。sensor是外部接近开关的触发信号。
2、新建按钮(Tap Variable)触发MC_Home和sensor功能块,
(8)调用功能块控制轴寻参
4、电子凸轮表功能
将两份图表拟合在同一张图纸中。
七、TwinCAT3 scope View的使用
1、TwinCAT3 Scope View的加载和简单使用
1.1、新建Scope YT Project
Scope YT Project:监控单个变量随时间而变化
【项目文件】→【Add】→【New Project】→ 【TwinCAT Measurement】→【Scope YT Project】→【test_scope】
新建PLC项目,编写plc程序,使用示波器观察变量a,并运行PLC;
【test_scope】→【Axis】→【Target Browser】→【port_851】→【main.a】→【Add Symbol】
1.2、新建Scope YT Project
Scope YT Project:创建后自动添加NC轴的一些主要变量,只需要指定相对于的NC轴的编号
1.3、新建Scope XY Project
Scope XY Project:横纵坐标都可以制定为变量,可以观察两个变量的曲线图。
2、TwinCAT3 Scope View的reporting功能
可以直接生成报告文件
3、TwinCAT3 Scope View的cursors功能
游标功能
4、TwinCAT3 Scope View的triggers功能
使用Trigger模块为Scope配置添加各种触发器功能