《otostudio软件培训教程.ppt》由会员分享,可在线阅读,更多相关《otostudio软件培训教程.ppt(160页珍藏版)》请在三一办公上搜索。
1、OtoStudio软件培训教程,及固高控制器应用知识,1.OtoStudio平台的简介,OtoStudio 是一种功能强大的软PLC软件编程工具,它遵循国际电工协会IEC61131-3标准,同时其可以采用IL、ST、FBD、LD、CFC、SFC 六种编程语言进行开发,用户可以在同一项目中选择不同的语言编辑子程序,功能模块等。软件编程分成两个部分:1.控制进程的编程;2.可视化界面的编辑;它是一款高效、简便的开发工具,并为众多知名的控制器公司所采用。而对于固高控制器而言,常用的编程语言有LD、ST、SFC三种。其他几种仅做为了解即可。,1.1常用的编程语言(1)-LD梯形图,符合欧洲标准的梯形图
2、编辑器,1.2 常用的编程语言(2)-SFC流程图,一种图形化的顺序控制编程方式,1.3 常用的编程语言(3)-ST语言,类似PASCAL高级语言的编程语言,我们在项目开发时不会经常使用这三种语言,在这里只是简单的介绍一下:,1.4 其余的另三种语言,IL 是LD梯形图模式的文本化的语言CFC是一种类似逻辑电路原理图的编程方式FBD是多个CFC的顺序控制编程,相关的编程语法知识参见书籍:IEC61131-3编程语言及应用基础,1.5 变量类型,Bool型变量,只有False否和True是两种状态;INT整数型变量,DINT长整数型变量,其他还有SINT,USINT,UINT,UDINT等类型;
3、REAL浮点型变量,LREAL长浮点型变量就是带小数的变量;WORD、DWORD型变量,类似UDINT整数型变量,不能有负数,其中DWORD常用于指针;BYTE变量,同时也可以做为字符变量;STRING字符串变量;ARRAY数组类型;POINTER指针类型,这个会经常用到;STRUCT数据结构定义变量类型,这个会经常用到;,1.6 变量的分类,全局变量,整个工程都可以引用,需要在在工程的全局变量管理器内编辑,我们常用来PRG之间的通信联络;局部变量,只能用于PRG内使用(不包含函数和功能块内部的变量),不能被其它PRG和功能块、函数引用;函数和功能块的参变量,包括VAR_INPUT输入型变量,
4、VAR_OUTPUT输出型变量(函数和功能块方法不一样),VAR内部使用型变量只能在功能块和函数本身调用。CONSTANT类型,常数的值不可改变,但这种类型不常用。,1.7 函数FUN和功能块FB,函数FUN的概念与PASCAL高级语言的概念一致,包含函数名、参数以及返回值。功能块FB的概念比较特殊:有点类似C+语言里面的类的概念,可以被定义成多个副本,而不会出现互相干扰,运行中可以保持其内部变量值不变。相对而言功能块FB在我们开发的控制工程里运用的比较多。,1.8进程PRG和全局变量,一个工程就是由多个PRG组成,简单的理解就是有多个程序在同时运行。PRG是并行运行的。每个PRG可以负责不同
5、的任务。优点:简化编程难度,优化软件工程的结构,有利于大家解读。全局变量是联接各个PRG之间的纽带。,OtoStudio界面开发提供的控件数量不多;常用的控件包括:文本框按钮可视化位图 重点需要掌握的是如何将控件的属性、点击事件触发相关的内容和程序里面的变量进行关联。,1.9 VISU图形界面开发,1.10 控件关联属性、变量的使用,变量部分终点掌握:不可见;取消输入;改变颜色;,输入设置终点掌握:触发但不保持变量;页面转移;文本显示变量输入;,1.12 Lib库,刚建立工程时,只有一个标准库Standard被自动调入。除了自己编写函数和功能块以外,OtoStudio还为我们提供了很多的函数和
6、功能块,它们被封装到多个LIB库里供我们调用。需要的时候可以通过库管理功能,将需要的函数和功能块所在的库调入工程里。也可以将我们自己编写的函数和功能块封装成库,供以后的工程调用。相关的库文件说明在OtoStudio的安装目录下有相关的文档说明,1.13 认知OtoStudio,编写一个小程序,屏幕上添加一个圆灯和一个按钮,当按钮按下后圆灯可以一亮一灭的闪动。要求:点亮、熄灭时间各为1秒。编程方式采用LD方式;,OtoStudio的编程入门从LD语言开始;首先认识LD语言常用的组成元素;触点线圈上升沿、下降沿定时器双稳态保持做为控制系统常用的语句构成,以及作用;直连 一般用在IO测试或简单控制上
7、自锁、互锁 状态切换、功能切换、运动功能控制双稳态电路 IO或系统状态保持和复位,2.OtoStudio的编程基础,2.1.1常用LD语言元素(1),线圈:普通线圈、置位线圈、复位线圈,同样必须是Bool型变量或WORD、INT、BYTE型的变量位。,触点:分成常开、常闭两类,变量名必须是Bool型变量或WORD、INT、BYTE型变量的位。,2.1.2常用LD语言元素(2),定时器,上升沿、下降沿,计数器,2.1.3常用LD语言元素(3),双稳态,逻辑运算和数学运算(相关的运算符查看帮助资料),2.1.4常用的组合形式(自锁、互锁),互锁常用在:工作状态模式切换、功能切换;自锁常用在:有时间
8、延续的功能启动上;,2.1.5常用的组合形式(双稳态),双稳态常用在:IO或系统状态保持和复位;以上三种形式构成LD编程的基础形态。,2.1.6编写一个LD的程序,功能切换:按下右边方格时,左边绿色小灯会变亮;选中一个功能时,其他功能的灯会灭掉;形成六种功能的互锁逻辑电路;,ST语言虽然有高级语言的灵活性强优点,但缺点是可读性差。一般情况下不用来做主程序的框架,而是用来开发功能块和函数(包括SFC语言的功能块)。在用ST开发功能模块时尽可能的不用循环语句,常用语句就是IF.THEN 和 CASE.OF语句。这样可以保证程序执行时流畅不会卡死。注意LREAL型变量的赋值数必须加小数点。如:Val
9、:=12.0;,2.2用ST语言开发编程,要注意在ST语言开发功能块中,上升沿和下降沿、以及定时器功能块的用法,否则运行中产生难以理解的错误。这里面有两种处理方法:1)将这些语句放在功能块的最外层。不要这些这些语句放在IF、CASE或循环语句里面。2)可以在下一个执行条件里放置一个输入条件为FALSE的复位语句。,2.2.1用ST开发功能块注意事项(1),注意功能块的特点。在OtoStudio程序运行的时候,功能块的里面变量的数值是始终保持的,不会因为没有执行该功能块,数值变为零。如果在LD程序里,使用不带En的功能块时,那么不管前面的逻辑是否为TRUE,这个功能块的内部始终会被执行。如果想控
10、制功能块里面的能否执行可以通过在功能块第一个输入变量自行添加Enable参数加以控制,或者使用带有En的方式添加功能块,如下图所示:,2.2.2用ST开发功能块注意事项(2),以不带En的方式添加功能块,以带En的方式添加功能块,特点是动作流程清晰,流程顺序一目了然。基本上用于PRG并行顺序动作的编程用来编写动作流程较长的控制功能,比如自动运行的主循环过程、或者机械手上下料的过程动作。只能用来开发单一流程的动作,不建议用它来编写并行的动作流程(如果有并行的顺序动作功能,建议采用两个PRG程序来实现)。,2.3.1 SFC语言的编程,2.3.2 SFC语言的STEP功能块,每一个STEP都相当于
11、功能块,每个程序扫描周期只会执行一个STEP,每一个STEP有一个进入动作,进入前只执行一次,每一个STEP有一个退出动作,在离开扫描离开时只执行一次,基本上以逻辑判断为主;将一些比较复杂的并且执行时间较长需要等待的控制模块,集中放在另一个PRG内,这里只做启动信号和判断是否结束。,2.3.3 SFC语言的编程要点(1),要有退出机制;在有等待状态信号才能向下执行的STEP里,要有退出机制。通过报警信息,防止等不到信号整个流程始终停留在这个STEP里无法复位。,2.3.4 SFC语言的编程要点(2),一旦有错误产生,或者长时间无反应,就会通过报警变量直接退出返回顶层,2.3.4 编一个SFC程
12、序,同样编写一个走马灯的小程序,让屏幕上的8个圆点按照数字循序,依次循环点亮后熄灭;每次只能有一个灯亮。要求:点亮时间为1秒。编程方式采用SFC方式;,常用的编程语言就是三种:LD语言、ST语言、SFC语言;LD语言的基础构成就三种形态:直通、自锁互锁、双稳态;ST语言主要用于功能块、函数和SFC里的STEP模块逻辑编程;SFC主要用于顺序动作较长的逻辑控制;另外三种语言很少用到,这里就不再介绍;,2.4 编程知识总结,一个控制软件需要些什么?,3.了解控制软件的整体架构,自动运行要完成的功能。,3.1.1以一台简单的拧螺丝机为例,到螺丝排列机构取螺丝,电动螺丝刀负责取螺丝、固定螺丝,工件,工
13、件上需要固定的螺丝位置列表X20.0 Y20.0X.YX.YX.YX.YX.Y,还需要常规的手功能,用以测试调整,3.1.2以一台简单的拧螺丝机为例,需要一个代码试教、编辑功能,3.1.3以一台简单的拧螺丝机为例,需要多种工艺参数支持;,3.1.3以一台简单的拧螺丝机为例,工件坐标偏置设定(最基本的功能):常见的是数控机床的G54G59就是工件偏置,包括设定、修改、保存。辅助设备的参数设定,比如机械上下料装置的调整参数,加工的定位,间距,速度、偏移修正。加工工艺相关的:机床不同各不相同,电压、温度、PID参数、延时。,设备需要诊断是否正常,3.1.4以一台简单的拧螺丝机为例,针对不同的设备需要
14、调整相关系统参数,3.1.5以一台简单的拧螺丝机为例,有一个文件管理操作部分的功能,3.1.6以一台简单的拧螺丝机为例,文件操作部分,包括浏览、复制、删除、拷贝等等常用功能;文件编辑功能;代码生成部分(也就是将一部分CADCAM的功能搬到控制器上);系统参数文件的读写,例如:轴参数、系统参数、工艺参数文件的读写等等;系统文件的参数修改,修改完成后及时保存或者取消时恢复原值、以及控制器的刷新等;,报警功能,产生报警及复位报警,3.1.7以一台简单的拧螺丝机为例,报警的种类系统报警:只有重新开机才能消除;停止运行:正在运行时立即停止,基本以安全 措施为主;禁止运行:禁止运动模块运行,基本以安全 措
15、施为主;警告报警:屏幕上会有警告提示;,紧急停止的处理(极为重要),人工干预要求机床立即停止。比如:输入程序坐标有误时紧急停止,或工件型号不对。系统报警时的自行紧急停止,比如:有轴故障可以令其他轴停止。操作对人员或设备的安全保护,比如:运动的部件活动区域感应到有其他物体,机床电气舱门被打开等等。禁止自动运行的逻辑。这些思想始终贯穿自动流程。,3.2.1 自动部分重点考虑的内容(1),开发控制系统并不是让机器简单的完成一个顺序动作就算大功告成。品质要求:根据不同的设备对品质的要求并不相同,其中的产生不良品因素很多,但要保证不是由于控制系统的因素做成的。效率要求:另一个考核控制器是否达标的另一个重
16、要指标,简单的理解就是在保证品质的情况下,控制器速度是否够快。,3.2.2自动部分重点考虑的内容(2),面面俱到,需要考虑应用的方便。非常繁琐,不复杂但是内容很多。工作量大,模块相对都比较独立。,3.2.3 非自动功能的特点,总而言之:与自动部分编程地位同样重要,因为两者的配合是密不可分的。,3.3 对于控制研发的整体考虑,设计时优先考虑,开发过程重点,修改次数最多,3.4 对于控制过程的认识,3.5 了解工艺非常重要,4.软件的架构,以上是对控制系统的初步认识,了解一台机床所需要的是什么样功能才能做为工程交付到客户手中的控制器,需要些什么符合客户的要求。接下来描述的是为了完成以上的功能,我们
17、应该如何去做,也就是按照我们以往的经验总结的软件架构去快速搭建软件。,4.1控制系统软件的基本构成要素,1.逻辑的控制(不包含运动控制);2.运动的控制(就是实际控制运动控制卡完成动作的模块集合);3.流程的控制(需要一定时间、顺序,按照一定的步骤进行的监控、控制);4.信号转换的操作,比如:IO信号转换成程序的变量,编码器坐标值转换成毫米单位数值等;5.特殊的需要:设备上电初始化、报警处理等;,4.2控制系统软件基本构成,HMI_PRG 人机界面交互部分,PLC_PRG 控制逻辑部分,MOTION_PRG 运动控制,PROCESS_PRG 自动运行,STATUS_PRG 状态监控,INIT_
18、PRG 初始化部分,ALARM_PRG 报警部分,全局变量完成动作协同,4.3控制系统软件构成要求,分工明确每个部分的任务针对同一类事情;容易理解便于快速检索,快速找到需要的内容;便于切分便于团队合作,能够团队成员分摊快速完成;,全局变量是联络各个PRG进程的关键要素,4.3.1全局变量定义,4.3.2 全局变量定义分组,4.4 PLC_PRG 包含的功能及作用,系统状态的切换及互锁(手动、自动),手动状态下的功能之间切换及互锁,手动状态下各种功能启动命令触发、复位,自动状态下命令动作的切换:启动、暂停、终止和完成后的复位逻辑,系统状态的初始状态信号,其他的界面或按钮操作,4.4.1 PLC_
19、PRG 的功能实现,系统状态(手动、自动)的切换及互锁,来自界面的切换命令,用来控制系统当前状态的全局变量,防止在机床工作时就进行切换安全措施,只有在空闲时才可以,4.4.2 PLC_PRG 的功能实现,手动状态下的功能之间切换及互锁,多了手动状态限制,4.4.3 PLC_PRG 的功能实现,手动状态下功能命令的启动、自动复位,启动按钮信号,启动条件,运动功能的启动信号,功能模块完成信号,紧急状况,功能选择锁定条件,4.4.4 PLC_PRG对部分IO操作,典型的双稳态控制回路,限制启动条件,4.5 MOTION_PRG 里包含的内容,伺服轴的使能模块;急停控制模块;单轴回零控制模块;全部回零
20、控制模块的组合(有一定的逻辑顺序);手动功能控制模块;自动与手动控制公用的运动控制模块部分,比如:机械手的分解运动;其他和自动相关的运动控制模块部分;控制运动模块实现集中在这个线程,逻辑相对简单。,4.5.1 MOTION_PRG的模块使用方法,从PLC_PRG或PROCESS_PRG等进程发出的使能信号,模块动作完成信号,模块正在运行的状态,具有指定功能的运动控制模块(这个模块是运动到机械绝对坐标的指定位置),4.5.2 模块如何与外部配合时序,外部使能信号,模块的运行信号,模块的完成信号,模块完成信号会切断外部使能信号,外部使能信号消失后模块完成信号会自动复位,STS_Enb,STS_Bu
21、sy,STS_Done,4.5.3 MOTION_PRG 里的回零模块,动作完成后,还需要置位单轴回零标志,4.6 PROCESS_PRG自动流程控制进程,流程基本采用SFC模式编程方便阅读和管理,每个STEP流程模块内部采用ST语言编程,可能是NC代码解释器可能是自定义流程,4.6.1PROCESS_PRG自动进程编写要点,等待启动指令,工作进行前准备,自动部分主流程,判断自动是否完成或这中断退出,自动后收尾工作,判断启动类型:重新开始、中断继续。流程内部变量的初始化。机床外围的准备工作:冷却液开启、主轴预热等等。,机床外围关闭:冷却液关闭、主轴停止等等。保存中断时需要的数据。发出流程完成状
22、态或者运动停止标志。,监控过程的非正常中断退出,4.6.2 自动进程STEP内部组成,判断是否有外部停止报警,判断是否有外部中断指令,判断是否有外部暂停指令,判断自动模块是否运动完成,正常继续,非正常返回,4.6.3自动进程与外部的联系,MOTION_PRG进程或者NC_CTRL_PRG进程里的控制模块,PROCESS_PRG进程里尽量不要直接加入运动控制指令,4.6.4自动进程非正常退出,每一个需要启动外部运动控制模块,并等待其完成的STEP块里都要有一个非正常退出机制。,报警是包括来自报警系统的外部报警,也有内部报警,4.7 STATUS_PRG进程的作用,判断伺服是否已经使能,判断伺服是
23、否报警,判断限位是否触发,读出各个轴的编码器值,并转换成我们通常意义上的机床坐标值,为整个系统提供轴状态信号,其他一些机床特有的状态逻辑,4.8 IO_PRG进程的作用,将INPUT部分数组分解成内部定义变量,将内部定义输出部分变量组合成转换成OUTPUT部分数组输出(控制器的IO操作使用WORD数据类型),读写出控制器IO的状态数组,4.8.1 IO_PRG进程里的定义转换,急停报警(就是按了急停)系统报警(需要系统重启,不能被复位)紧急停止类报警(由于安全保护措施引起的报警,正在运行的情况下产生的报警,可以被复位)禁止运行类报警(由于安全保护措施,防止机床启动的报警,报警逻辑可能和紧急停止
24、类有重叠的地方,可以被复位)警告类报警(不需要人工复位,状态逻辑不成立后会自动消除的报警),4.9 ALARM报警的分类,4.9.1 ALARM报警的来源,控制卡的跟随误差报警、极限触发,文件、参数设置错误的报警,机床安全、保护逻辑触发引起的报警,外部设备报警联动,控制系统自身的故障报警,包括轴卡报警,急停报警(处理是在MOTION_PRG),4.10 HMI人机界面的设计,采用OtoStudio本身的界面VISU开发系统,用于没有复杂的图形显示界面,是目前学习重点。前后台控制程序,在同一个控制器内同时运行OtoStudio的控制程序(但没有VISU部分),界面部分采用VS2005开发的Win
25、CE软件,两者采用共享内存的方式通信,主要解决OtoStudio图形显示的局限问题。上下位机的控制方式,由于OtoStudio控制器资源的紧张不能完成大量计算,比如:三维CADCAM的计算,路径优化等,界面会安排在运算更快上位机运行,通过以太网或串口通信控制下位机,4.11 HMI人机界面编程的几种形式,4.12 测试题,控制系统开发自动流程功能所要关注四个层次的问题是哪四个?在课程里面重点提及的常用手动功能是哪六个?课程里讲述的工程开发常用开发语言是哪几种?描述课程中讲述的控制工程中需要编写哪几个线程(如:PLC_PRG)?在梯形图编程里触点除了可以用Bool型变量外,还可以使用哪种变量?表
26、述一个有8个无符号整数组成的数组名称为Enc的数组如何写?OtoStudio中函数和功能块的区别是什么?在梯形图编程里线圈的种类?,5 实践之前的准备知识,机械方面基础知识电工方面基础知识执行电机基础知识,这些常识和在学校学到的内容不一样,轴的分类:直线轴、旋转轴直线轴:一定有一个长度范围,有极限值。旋转轴:只能在0360的范围内运动,但在控制器里要转换成长度范围。,5.1.1 机械基础轴的的概念,5.1.2 设备坐标系确立的方法,记住以下几个要点:,工件原点原则上设定在工作台左下角。,XYZ轴的运动方向是以主轴相对于工作台零点移动的方向确定正负。,机床坐标及工件坐标的指示运动方向上要重合。,
27、XYZ轴的运动以远离工作台零点位置为正方向。,特殊情况:电火花机床,数控钻床的Z轴向下是正。,5.1.3 工件坐标及工件偏置概念,实际上大多数的机床坐标原点与工件坐标原点不可能重合。为了便于数控编程或者操作者录入坐标方便,输入坐标值一般都采用工件坐标。而数控系统的运动指令都是接收机床坐标指令。机床坐标原点与工件坐标原点之间偏差值就是工件偏置。,极为重要:会影响到将来编程的思路,每台设备都会遇到的问题,脉冲当量:单位是用每毫米多少个脉冲 Pulse/mm;人机交互设定单位长度单位mm;脉冲当量=电机每转脉冲数/导程;速度当量:单位用每毫秒向电机发出多少个脉冲Pulse/ms;人机交互设定单位每分
28、钟多少毫米mm/min;速度当量=脉冲当量/60 x 1000;,5.1.4 直线轴的脉冲当量、速度当量,5.1.5 旋转轴的脉冲当量、速度当量,脉冲当量:单位是用每度多少个脉冲 Pulse/Deg;人机交互设定单位长度单位度;脉冲当量=电机每转脉冲数*传动比/360;速度当量:单位用每毫秒向电机发出多少个脉冲Pulse/ms;人机交互设定单位每分钟多少转 R/min(rpm);速度当量=脉冲当量*360/60 x 1000;,总电源开关1.设在电器柜侧面或者门上;2.旋钮与开关分离,开关开关安装在电器柜内的形式;,5.2.1 电气知识电源输入器件,总电源空开总的进线空气开关;片式空开各种分路
29、电气回路用;电机用空开 用在三相电机前面;漏电保护空开经常用在小型桌面设备;,5.2.2 电气知识空气保护开关,变压器:单相变压器三项变压器(常用:380VAC转220VAC)开关电源(常用220AC变24VDC控制电路220AC变48VDC步进电源),5.2.3 电气知识电压转换器件,保险丝:用在直流电源保护中;滤波器:电流噪声较大的场合;简易的滤波器是磁环;,5.2.3 电气知识电路保护,按钮:急停开关:插座:,5.2.4 电气知识控制操作,机械式:接近开关:又分PNP和NPN型常用的是NPN型磁性开关:常用在气缸,5.2.5 电气知识信号源,继电器:看清线圈电压;线圈驱动电流;交流接触器
30、:交流线圈:110VAC,220VAC;直流线圈:24VDC,36VDC;辅助器件:热保护器;固态继电器:响应速度快,无触点,5.2.5 电气知识控制器件,指示灯塔灯,5.2.6 电气知识显示用器件,端子:针形、叉形、环形接线排:欧式、日式地线排:黄绿色、铜排,5.2.7 电气知识电工辅材,线槽安装导轨固定端子(经常被忘记),5.2.8 电气知识电工辅材(2),进线形式:单相两线制:单相220VAC(L+N)单相三线制:单相220VAC+地线PE三相四线制:380VAC+地线PE三相五线制:380VAC+零线N+地线PE进线名称的定义:单相:L、N,PE三相:L1、L2、L3,N,PE L1、
31、L2、L3经过交流接触器转向电机端后U、V、W或R、S、T,5.2.9 电气知识电气回路知识,控制器单独供电,单相380V转220V,5.2.10 电气知识电气回路基本形式,三相380V转220V,单相220V转24V,控制和信号要分开,伺服电机常用三相220V,固高控制器的数字量输入接口电路:内部24V拉高,信号对地有效,两种开关的接法。,5.3.1 控制回路的硬件知识,固高控制器的数字输出接口电路:下面是一个典型的控制小型继电器的控制回路。,5.3.2控制回路的硬件知识,对角法则:,主回路入口开关,分回路分流走向,分回路分流走向,核心控制部件位置,主要执行部件,输入电源端子排,信号、控制端
32、子排,5.4.1 电气设计控制柜布局,5.4.2 电气设计控制柜布局实例,根据总瓦数确定总空气开关的安培值:交流380V:电流经验值=千瓦数*2;交流220V:电流经验值=千瓦数*3.5;根据以上电流的汇总可以的是各个分支回路的空气开关过载能力;电缆的规格选型:电线平方数经验值=回路电流/5;注意:电线并不是越细越好,信号线最细也要0.3平方;而 且电线品种也不易太多。一般就选0.5平方、1 平方、2平方,4平方,7.5平方(还有颜色);,5.4.3 电气设计电缆选型,零线(N):主要用于工作回路,零线所产生的电压等于线阻工作回路的电流。由于长距离的传输,零线所产生的电压就不可忽视,作为保护人
33、员安全的措施就变得不可靠。地线(PE):不用于工作回路,只作为保护线。利用大地的绝对“0”电压,当设备外壳发生漏电,电流会迅速流入大地,即是发生PE线有开路的情况,也会从附近的接地体流入大地。,5.4.4 电气设计零线和地线,5.4.5 电气设计保护地线接法,5.5 步进电机和伺服电机,步进电机及驱动器:伺服电机及驱动器:,5.5.1 步进电机控制设定,步进电机驱动器接受命令的方式共有三种形式:脉冲指令+方向控制(固高控制器默认方式);正脉冲+负脉冲;相位脉冲信号;,细分和电流设定:步进电机驱动器可以设置步距细分,也就是每一个正常步距将其划分出更细等分,比如:1/5,1/40等等,在驱动器上有
34、相关的拨码开关;驱动器的电流需要根据步进电机的额定相间大小来设定输出电流,总的输出电流要小于步进电机额定电流,默认选用固高控制器的脉冲+方向的控制模式。,5.5.2步进电机控制器接口,三种控制模式:位置控制模式(实际上和步进电机用法一致),用法相对比较简单;速度控制模式,主要用于高速高精度连续轨迹运动的场合,需要固高控制器设定为模拟量输出形式;力矩控制模式,主要控制伺服电机的扭矩输出模式,在工程某些特殊场合也会用到,这里不就不再做详细介绍。,5.5.3 伺服电机驱动器的控制,5.5.4 伺服电机驱动器的接线,三相220VAC用上面三根线。单项220VAC用下面两根线。不能同时接。,伺服电机动力
35、线,伺服电机编码器反馈线,到控制器的通信线,Pr0.01*控制方式选择 0:位置控制Pr0.02 设定实时自动调整 调试设定 1:标准Pr0.03 实时自动调整机器刚性设定Pr0.04 惯量比调试设定 设置机械负载惯量对电机转子惯量比之比率。Pr0.05 指令脉冲输入选择:长线驱动器专用输入(高速接口)Pr0.07 指令脉冲输入方式选择 3 设定脉冲指令输入方式为脉冲串加符号,负逻辑。Pr0.09 第一指令脉冲分倍频分子 需计算Pr0.10 指令脉冲分倍频的分母 需计算 110000Pr0.11 每转输出脉冲数,设定要反馈到控制器的编码器每圈所输出的脉冲个数,5.5.5 驱动器的常用参数(位置
36、模式),计算公式:F=f(Pr 46 2Pr 4A)Pr 4B=10000或(217)注:F 电机转一圈所需的内部指令脉冲数(编码器的分辨率)f 电机转一圈所需指令脉冲数马达转一圈回授的脉冲数=负载转一圈移动量脉冲数 控制器内部所设的倍频 4,5.5.6 返回脉冲数和电子齿轮比,常规自动增益调节:选择常规自动增益调节模式,初始显示“r 0”;按SET键按钮一次,按MODE模式键切换,按钮三次,到显示为“At_no 1”;按上、下键来选择机器的刚性,刚性越高越好,但前提条件是机台不抖动;按SET键按钮,进入监视器/执行模式;显示为:“Atu-”;在监视器/执行模式上运作:按住上键按钮约3秒,直到
37、出现显示“start”,电机开始运转,大约15秒内,电机重复5个周期,包括两圈的正转和反转。“Atu-”“Atu-”“-”“START”“FINISH”“ERROR”把获得的增益值写入到EEPROM。,5.5.7 伺服驱动器的PID调整,了解固高控制器的使用,程序调试、配置、下载、控制基础,1.选择控制器的类型,以梯形图方式创建主控进程,1.开始创建控制工程,2.配置文件Config,3.激活位置控制模式,首先从脉冲控制入手选择脉冲+方向模式激活轴号从14各执行一次,4.取消模拟量控制模式,选择Control页将闭环控制激活取消掉轴号从14各执行一次,转到di页选择限位触发电平;Di类型选择正
38、限位;选择轴号索引;选择反转;再将Di类型选择为负限位,重复上面的动作。,5.选择各轴的左右限位触发电平,6.一定要保存Config.sys文件,以上步骤完后,选择文件菜单;同时执行第二个选项和第三个选项;同时保存文件到本地电脑(桌面);将保存好的文件拷入控制器内;文件名为GTS800,7.配置调试通信口地址,启动控制里CPAC目录下的GRT。查看IP地址。分配调试电脑的固定IP地址。要求不与控制器显示的地址相同。,8.试着联通电脑和控制器,通信参数里填入控制器的固定IP地址,尝试联接。,9.使用固高提供的测试软件,10.了解一下IO,11.先从JOG模式状态操作,观察状态变化,12.了解轴点
39、位控制模式P2P操作,注意观察输入值后运动的规律,首先要学会设置通信协议IP地址,并下载应用程序。学会设置Config配置文件,设置运动控制模式,限位触发电平等。注意限位触发后对运动指令的影响,明白固高控制器的GT_ClrSTS的作用。注意运动控制下,修改AccDec加减速对运动响应的影响。注意理解固高控制的P2P运动模式里,输入的坐标位置是绝对值坐标这一最基础的概念。,13.通过操作固高DEMO程序小结,运动控制编程基础,以步进电机为例的指令初步掌握,目标1.真正掌握固高控制器的几个基本指令:文件存取;数字量的输入输出;轴上使能;轴JOG模式运动;轴点位模式运动;2.逐步熟悉控制软件的框架:
40、控制模块的编写运用,进一步熟悉PRG进程编写;熟悉全局变量,指针;3.熟悉本公司在设计软件时的基本规范;,1.练习编程控制开发,1.1 首先进一步了解轴状态字,1.JOG模式的运动主要用在手动连续控制里;2.P2P点位运动模式在手动操作状态下,除了连续运动的其他单轴运动模式;3.插补运动模式有空间曲线的合成运动;,1.2 深入了解掌握运动控制模式,1.2 练习编程控制软件的主界面,界面的切换、返回;页面跳转功能。学会将界面的控件输入与全局变量关联;变量触发的不保持。显示文本对应的标识。学会改变颜色;关联相应的属性,报警色。,2.第一步完成工程界面,2.1 工程界面参数界面,2.2 工程界面手动
41、界面,2.3 工程界面自动界面,全局变量的命名和分类;,2.5 阅读全局变量,每组全局变量的内容;,编写功能切换部分;,2.5 编写PLC_PRG控制进程,编写操作部分;,总共给出了8个现有的功能块,分成四类:基本要素;文件读写;运动控制;回零操作;,3.1 阅读理解现有的功能块,功能块在梯形型图里的用法有两种;第一种叫做功能块调用,也就是当成一个触点形式进行调用;这种形态使用时,只要梯形图扫描到这一行无论前面的触点是否为TRUE都会对里面的内容进行扫描;第二种方法叫做En用法,也就是当作线圈来使用,只有当前面的逻辑为TRUE时,才会执行里面的程序内容;第二种方法不建议使用;,3.1 FB在梯
42、形图里的用法,在功能块里面使用上升沿和下降沿不可避免;上升沿和下降沿必须放在模块代码的最前面,这样每次扫描到模块时,上升沿或下降沿的功能都会被扫描并刷新一边,这样不会产生误动作;否则的话有可能因为逻辑无法执行到上升或下降沿,在信号跳变的时刻会丢掉触发,或者触发无法复位。同样的问题在延时功能上也会出现;,3.2 功能块里面的上升、下降沿,GT指令的返回值rtn的作用Rtn返回值的作用是检查工控机与运控卡之间通信状态是否正常的标志,这是控制工程软件通行做法。GT_ClrSTS,GT_GetSTS控制卡的运动报警状态由该指令完成,相关内容看帮助;GT_GETPrfPOS和GT_GETEncPOS前一
43、个是读的控制卡内部的位置运算寄存器;后一个是读的编码器累加寄存器的值;GT_POS只能读规划目标位置,不能用;GT_STOP前一个参数是需要停止的轴掩码,后一个是停止方式;GT_UpData修改当前目标位置和速度用的;,3.3 GT指令中几点说明,理解文件读写模块内容;理解指针、地址使用;开机读系统文件,然后将读到的内容保存到全局变量里;可以修改全局变量里的四个轴参数变量;可以保存四个轴参数变量;当取消修改后,需要再次从控制器硬盘里将轴参数文件读取出来刷新变量;,4.第二步完成初始化INIT进程,TYPE Tag_AXIS_PRM:STRUCTEnable:BOOL;(*轴是否有效*)Pitc
44、h:REAL;(*丝杆螺距*)Pulse:DINT;(*每转脉冲数*)Home_Offs:REAL;(*Home点偏移*)TrapPrm:TTrapPrm;(*点位模式下的运动参数*)JOGPrm:TJogPrm;(*JOG模式下的运动参数*)Scale:REAL;(*脉冲当量*)V_Scale:REAL;(*速度当量*)END_STRUCTEND_TYPE,4.1初始化轴参数的数据结构,手动状态下运动控制模式:手动连续:控制器的JOG模式;绝对值、增量和回零:控制器的点位模式;常规的参数:脉冲当量、速度脉冲当量;控制器JOG运动模式下的专有参数:加速度、减速度、平滑系数:TJogPrm;控制
45、器点位运动模式下的专有参数:加速度、减速度、平滑系数:TTrapPrm;,4.2 系统参数里需要的基本参数,开机初始化重要的之一就是读取导程和电机每转的脉冲数;脉冲当量、速度当量在初始化的时候通过读取的上面两个参数进行计算出来;对于JOG模式和点位模式的专有参数,是放在运动指令前面赋值;,4.3 开机初始化的参数读取,正常情况下的基本功能;非正常的情况下问题的处理(以读文件为例,发现没有找到文件,保存默认参数问题)1.新控制器灌装完没有系统文件如何处理?另一种情况是那另外一台的控制系统文件拷到新控制器里,但这个会带来另一个问题,拷过来文件里有很多参数可能并不合适。2.系统文件被误删除如何处理?
46、比如文件被误删除了,而手头没有相关的参数数值。,4.4 文件模块编写需要考虑的问题,4.5 文件读模块代码,如果打开文件失败,就要新建含默认值参数的文件,1.理解指针和数据的关系;通过指针将数据传入功能块,然后可以直接通过固高IO读取函数修改全局变量。2.理解IO扫描的作用,程序是通过每次循环周期不停地刷新IO口的状态,而不需要任何触发条件。STATUS_PRG里面读取的状态与IO读取的信号区别意义不同,主要是考虑安全信号的问题。如何消除限位报警状态。,5.先写IO_PRG进程,编写两个模块:IO读取模块;规划位置及轴状态读取模块;在IO进程里分解相关的信号:将IO信号的位与相关界面控件对应;
47、轴状态的位与相关界面控件对应;,5.2 读IO信号和轴状态模块,5.2 让IO信号和限位状态显示,IO输出可以在界面直接控制;将轴状态值里的轴使能、轴报警、限位触发状态显示到界面上;,只有上了使能才能使电机处于待命状态;上使能完成后还有两个指令要执行;1.清除轴状态;GT_ClrSTS;2.设置当前位置为零;GT_ZeroPOS;,6.1 MOTION_PRG轴上使能模块,由于采用上升沿、下降沿控制电机启停,所以需要将上升沿、下降沿模块放在功能块的最前面,以防止脉冲丢失。停止命令可以采用两种情况,一种是GT_Stop停止命令,另一种是采用将速度变为0的GT_SetVel命令。JOG模式的方向由
48、正负速度决定,输入的速度命令先要全部变成正数,然后由方向控制命令标志决定速度是正还是负。,6.2 手动连续控制模块,6.3 手动连续运动模块逻辑框图,检测Enable信号,有Enable上升沿信号,有Enable下降沿信号,清轴状态,设置JOG运动模式,设置JOG运动参数,设置JOG移动速度和方向,刷新轴运动规划器,设置速度为零,刷新轴运动规划器,控制逻辑的检查,检查相关联的控件变量是否正确检查相关的限位报警是否触发检查相关的数据是否正确,在全局变量的轴参数里观察脉冲当量Scale,速度当量V_Scale的值是否有正确的计算值,轴参数是否正确:加速度、减速度的值不能为零检查关联的速度是否不为零
49、。,6.4 开始运动模块调试前准备,理解固高控制器里的规划位置的含义,设定的目标位置和当前位置的关系。如何通过轴是否正在运动的状态标志位来判断规划运动是否完成。理解限位报警时需要做的一些处理,即PLC_PRG、MOTION_PRG、STATUS_PRG之间的关系。做完绝对值运动后,考虑相对运动的运动控制模块编写需要什么条件。,7.手动绝对值控制模块,7.1 绝对值方式移动逻辑框图,检测Enable信号,有Enable上升沿信号,清轴状态,设置点位运动模式,设置点位运动参数,设置点位移动速度,设置点位规划位置,刷新轴运动规划器,读取轴状态,判断运动是否完成,运动完成标志置位,对绝对值运动模块的控
50、制,在PLC_PRG进程内的编程就是一个自保逻辑的形式;要理解上升沿的的作用;1.当运动完成后,通过OK信号来自行切断这个自保逻辑的回路;2.有一个要注意的问题,要加上限位触发的报警信号也会切断自保回路,这样控制停下来后启动逻辑也清除了。,7.2 PLC_PRG里绝对值模块的控制,2,1,GT指令里没有相对运动的指令;将绝对运动指令改造成相对运动指令;,7.3 自己动手写一个增量运动模块,检测Enable信号,有Enable上升沿信号,读取当前规划位置将增量部分叠加上去,下面的部分与绝对值运动相同,8.单轴回零过程,开始寻找Home信号,Home信号触发位置并保存规划位置,轴运动停止,设备原点