OtoStudio软件培训教程.pptx
《OtoStudio软件培训教程.pptx》由会员分享,可在线阅读,更多相关《OtoStudio软件培训教程.pptx(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型变量外,还可以使用哪种变量?表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OtoStudio 软件 培训 教程
![提示](https://www.desk33.com/images/bang_tan.gif)
链接地址:https://www.desk33.com/p-354913.html