好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

TwinCAT基础教程3.1-TwinCAT如何编写简单的计算器.doc

33页
  • 卖家[上传人]:大米
  • 文档编号:394425715
  • 上传时间:2023-11-05
  • 文档格式:DOC
  • 文档大小:2MB
  • / 33 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 把编写简朴计算器作为入门的第一种范例程序,重要是由于比较简朴,并且综合了HMI,数据类型,数据转换,PRG和FBD等功能块的混合等知识,个人觉得还是比较适合用来迅速上手的由于是第一种范例,因此视频教程和文档阐明都会比较具体(学习能力较强的可以跳着看,背面范例的阐明会逐渐减少)添加一种PLC,随便取个名字一方面是把人机界面做好,最简朴的计算器需要实现加减乘除的功能,右击VISUs添加一种人机界面,名字也随便在人机界面上拖放需要的控件(这个跟高档语言同样,但是注意是控件都是TwinCAT提供的控件,因此会有Rectangle,Line这种控件,一般TwinCAT2用的比较多,由于一种Rectangle既可以是Button,又可以是Textbox,但是TwinCAT3既然提供了更加接近高档语言的控件,就使用常规的按钮和文本框即可)然后就是创立一种功能块了(你也可以在MAIN里面直接写,或者不创立功能块,创立FUN,PRG都可以),具体区别背面会讲到FB自身是有输入输出的(VAR_INPUT,VAR_OUTPUT,而定义在VAR 和END_VAR之间的是临时变量,我们临时用不上)在这个FB上右击添加Method,例如最简朴的相加措施(注意返回类型LREAL就是double类型)用同样的措施做好加减乘除,这样再主程序调用的时候就会非常以便,直接类.措施就出来了,注意FB需要实例化一种对象,我个人习惯于把变量都定义在全局变量中(至少这些变量是诸多地方都要用到的)。

      在具体编写某个Method的时候,注意最后只要让Method的名称赋值等于成果即可(加不加RETURN都行),这不仅仅是对于INT,LREAL这些基本类型,如果要函数输入两个数组,输出一种数组之类的也可以,这个背面会讲到,临时还没用到在做除法的时候,自己要判断分母与否为零(TwinCAT如果遇到非法的运算,也许会返回NaN,也也许会直接报警,例如SQRT(-1)在TwinCAT3中就会得到一种NaN的成果,而除以0就直接会报警)我们看到了功能块的解决措施(Function Block,需要声明类的实例,稍微有点麻烦,但是一种整体的功能块能否划分给一种类,例如MathCalc涉及了加减乘除,也可以继续扩展开多次方,开根号,算圆面积,算三角函数等等),在接着往下做之前,先来看一下别的做法直接创立一种FUN(函数),这样也可以做,并且写法基本同样(到最后的Method名称=成果即可)使用的时候不需要声明FB的实例,直接函数名即可(可以觉得FUN是全局的,不是哪个类的),因此看个人的使用习惯,如果项目很小,也无所谓后来的代码复用,可以直接FUN来做,但是如果考虑一种类不断完善和代码复用,肯定还是需要用FB来的更合理(直接的FUN都是散开的,如果你有10个很基本的FUN散落在这个项目的各个位置,下次要用的时候是不是还得挨个找到,复制粘贴到新的项目?使用FB直接复制一种FB,她的所有措施就均有了)除了FUN和FB的区别,我们还可以在FB上新建Action(Method,Property,Transition一种四种,但是最重要用的是Action和Method),新建了Action之后可以发现代码是空的啥也没有,由于Action只是一种代码片段,没有输入输出,相称于还是在执行MathCalc的一部分代码而已如果一定要这样做也可以,但是非常繁琐,你需要对Math(FB的实例)的指定属性赋值,然后执行Math的指定Action,然后从Math的指定输出中采集成果(可想而知如果某个函数需要10个输入,你就要挨个做,肯定是不以便的)那么Action具体干什么用?Action的好处就是可以更加有条理的归纳代码。

      例如MAIN程序的每一种状态里面已有诸多事情了(获取HMI的输入,变量转换,执行功能,显示输出,回到0状态等等),可以在MAIN里面新建一种Action把这些主程序逻辑构造不关系的东西都放进去,这样如果执行到Math_Add,就只需要一行就可以了分析完了程序构造,我们再来看人机界面的注意事项,一种文本框如果要绑定到String类型,则Text应当是%s,如果是INT类型,则%d,如果是LREAL类型,则%f,我们为了可以直接输入文本方式的数字,因此绑定到字符串类型(执行运算的时候再把字符串转成LREAL类型)相比于Numpad就会以便诸多,你可以直接键盘输入数字,成果也可以鼠标按进去之后复制成果建议对一类功能成组,这样可以很以便的整体拖动,复制粘贴在工具箱中搜索group即可找到,同步打开顶部的元素列表也可以批量选中一种组中的控件为了演示数组类型的传入传入,我们以向量的点乘和叉乘为例本质上函数不能传出数组,但是可以传出构造体,构造体定义成只有一种数组的元素即可),这样只要输入的同样类型构造体赋值精确,就可以执行函数,同步得到的输出也放到指定类型构造体,并不比数组难用,在本例中,直接构造体.DATA[数组下标]即可读写数组元素更多教学视频和资料下载,欢迎关注如下信息:我的优酷空间: 我的论坛: 问题交流::邮箱: 。

      点击阅读更多内容
      相关文档
      2025年教师招聘考试教育理论综合知识考试题库(单项选择题763题).docx 2025年教师招聘考试必考的面试考试题库.docx 2025年江苏生禁毒知识网络竞赛考试题库(280题).docx 2025年教师招聘考试公共基础知识模拟题库.docx 2025年江苏省第十届大学生就业创业知识竞赛考试题库(200题).docx 2025年煤矿安全监测监控证考试必刷题库附答案.docx 2025年教师资格证考试公共基础知识考试复习题库.docx 2025年江苏生禁毒知识网络竞赛考试题库(210题).docx 2025年江苏生禁毒知识网络竞赛考试题库(270题).docx 2025年教师资格证(教育公共基础知识)考试题库(500题).docx 2025年江苏生禁毒知识网络竞赛考试题库(260题).docx 2025年教师招聘考试中学教育理论综合知识考试模拟试题(五套).docx 2025年教师资格证考试教育公共基础知识考试题库(400题).docx 2025年教师招聘考试(教育综合基础知识)复习题库.docx 2025年江苏生禁毒知识网络竞赛考试题库(220题).docx 2025年江苏生禁毒知识网络竞赛考试题库(290题).docx 2025年教师招聘考试最新教育理论基础知识考试复习题库.docx 2025年教师编制考试教育教学公共基础知识考试复习题库(350题).docx 2025年江苏生禁毒知识网络竞赛考试题库(250题).docx 2025年江苏省大学生就业创业知识竞赛考试题库(200题).docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.