这样高效学PLC编程,掌握ST语言运算符号编写控制程序无压力
此次为大伙续上之前《 ST语言运算符上 》所讲解的内容,如果大伙没有了解过之前分享的内容,建议先行去了解再往下看,便于全面的掌握ST语言运算符。
五:* (乘) / (除) MOD (余数)
除法 MOD(余数)
在ST语言使用运算符 / 表示除法。在运算中,自动根据自定义的标签自动进行整数运算或小数运算,如果直接使用软元件名使用,默认为16位整数运算,如下图所示:
梯形图的除法运算,会存在16位整数除以16位整数结果是32位整数,其中低16位储存商数,高16位储存余数,在ST语言中是以运算符 / 求商数,使用运算符号MOD 进行求余数,求商数与余数是使用二个运算符进行运算。
例:求出D0除以D2的商数,结果储存至D4,求出D0除以及D2的商数,结果储存至D6
同样在四则运算中需要注意数据类型是否一致,否则编译不通过
在程序文直接使用软元件,那么编译器默认为是16位整数,如果需要使用32位整数运算,需要在全局标签进行定义,然后在程序文使用标签进行运算。
例:在全局标签定义三个32位整数变量,分别命名为整数32位1,整数32位2,整数32位3,地址分配为D200,D202,D204,然后在程序中将,整数32位1乘以整数32位2,结果赋值给整数32位3,步骤如下图所示
32位整数除法在GX Works3 比较方便,不需要在全局标签中设置小数类型,可以直接在程序文中直接使用软元件,参考下图所示
在软元件名称加上冒号然后输入数据类型,具体定义如下图所示
在ST语言中四则运算中的乘法,除法与求余数的优先权是同等级,理论上是不分先后执行,实际上在左边优先执行,右边后执行。
例:在下图所示中,D2先乘以D4,然后再除于D6,最后进行赋值。
六:+ (加) - (减)
在梯形图中的加法与减法使用ADD(加法)与SUB(减法)表示,如果是小数则为EADD,ESUB
在ST语言使用运算符 + 代表加法,运算符 – 代表减法。
例:将D0加上D2值再减去D4,结果储存致D6中。
理论上加法与减法的优先权是同等级,也就是说执行运算不分先后,实际是在左边执行,右边后执行,如上图所示,D0先加上D2,然后再减去D4,这是顺序因素,不是优先权运算原则。
默认使用软元件就是使用16位整数,如果想要使用32位整数或小数参考上图所示方法。
七:<,>,<=,>= (比较)
在比较关系符,分别有小于“<”关系,大于“>”关系,小于或等于“<=”关系,大于或等于“>=”关系。
比较关系符为常用运算符,熟悉掌握关系符应用对ST语言编写很大帮助!
如:关系符运符可以用在控制语句中使用,如IF判断。
如:关系符运符也可以作为执行函数条件使用,如果传送指令执行条件
如:关系符运符可以将比较结果进行赋值输出
如:可以直接将四则运算的结果进行判断,然后再输出
注意:比较结果不能进行四则运算
七:= , <> (等式/不等式)
等式“=”与不等式“<>”的优先权低于比较关系,等式与不等式是同级别,不分先后。
使用方法参考比较关系例子,这里就不在介绍。
注意:等式运算符与赋值运算符容易混淆,等式“=”是用来比较使用,赋值是给赋值“:=”使用
八:AND , & ( 逻辑与 )
逻辑关系,在梯形图中多个位的逻辑关系,可以很方便观察到各个位的状态,特别是在调试程序时,可以快速排查问题
在ST语言中的逻辑与是使用AND或 & 运算符表示,上图与下图程序作用完全一样。
可以看出,梯形图的逻辑关系比较直观,而ST语言就稍微差点。所以在逻辑控制方面使用梯形图编程比较有优势,而四则运算方面使用ST语言比较方便
注意:在梯形图有专用的常闭符号,而ST语言没有专用符号,如果在ST语言使用常闭信号进行逻辑运算,可以使用NOT 取反运算符,如图所示
八:XOR ( 逻辑异或 )
逻辑异或关系,用来表示二个位的关系,梯形图中的表达二个位为异或关系,使用四个触点,如下图所示:
ST语言使用XOR运算符表示,则可以实现如上图所示作用
异或运算符的优先权低于逻辑与运算运算符,如下图
九:OR ( 逻辑或 )
逻辑或关系,用来表示二个位为或关系,梯形图中的表达二个位为或关系如下图所示:
ST语言使用OR运算符表示,则可以实现如上图所示作用
或运算符的优先权为最低,是所有运算符中最低一个
以上,欢迎动动手分享及收藏!
原来plc控制伺服电机这么简单!成功都是可以复制的!
新力川伺服电机 / 威纶触摸屏TP6071IP / QD70P8模块/QY42P
通讯线TK-Q 编程线USB-QC30R2
1、 伺服电机接线
(1) 驱动器主电路端子名称
(2)电源接线方式(有单相,三相,这里采用单相)
(3)伺服驱动器面板
(4)位置控制模式接线
CN3端子
CN3端子定义
位置控制所需的控制端子如上图所示,针脚号1、针脚号2需要接100Ω电阻。
三菱QD70P8模块端子定义
伺服驱动器与三菱PLC接线
注:引脚5和引脚22接输出Y,可以根据自己实际需要更改输出端子
PLC参数设置
轴1定位数据:选择定位结束,INC就是相对位置控制,其他参数可以根据自己需要设置,这里可以默认。
参数设置:一般直接默认设置就可以。
2、PLC程序
初始化设置先设置速度为2000,后面在人机界面可以自己调整
脉冲数转换:电机走一圈用的模组走5mm的距离
电机走一圈脉冲10000pulse,因此人机界面输入1mm,需要2000脉冲,距离是浮点数,因此需要用到浮点数相关指令。
ü FLT D152 D152将整型D152转换为浮点数
ü EMOVP E4 D152浮点数赋值
ü E* D152 E2000 D154 浮点数相乘
ü DINT D154 D156浮点数转为D156
ü TOP H1C K800 D27 K9
将D27开始的9个数据寄存器的数值存入模块的缓冲寄存器中,当模块安装在基板槽口0时,则选择H00,我是安装在第8槽口,输入输出从X1C0,Y1C0开始,因此为H1C,K800是轴1的缓冲数据寄存器,轴2为k900,以此类推,可接8个轴。
注意:程序中,运行形式和控制方式一定要写入,否则将报错。定位形式0,控制形式为2。
3、HMI对应程序
工作过程: 在速度、距离中输入数据,电机数据确认按钮,开启伺服ON按钮,锁住电机,再按下启动按钮,电机将按照设定的距离和速度动作。当电机出错,查找原因并按下报警清除按钮,清除报警。
电工学习网独家原创稿件,转载必须注明原文出处及原文链接,违者必究!
推荐阅读:三菱PLC控制伺服或步进电机的顺序控制思路, 请点击下面“了解更多 ”
相关问答
plc怎么安模组?
回答如下:PLC的模块一般都是通过插入在插槽中的方式来安装的。具体步骤如下:1.打开PLC控制器的机箱,找到需要安装模块的插槽。2.将模块按照正确的方向插入...
三菱PLCGX编程软件里的ADD指令如何输入-ZOL问答
补充:三菱PLC英文名又称:MitsubishProgrammableLogicController,是三菱电机在大连生产的主力产品。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑.....
台达plc编程中校验码怎么算?
MODRDS1S2N指令S1即上面K1,变频器的地址S2即上面的H2101,读取数据的地址N即上面的K6,读取数据的长度,规定K1≤N≤K6,K6意思是连续读取H2101,H2102......
plc为什么加载模组警告?
PLC加载模组警告的原因可能有以下几种:CPU异常:当CPU出现异常时,需要检查CPU单元连接于内部总线上的所有器材。具体方法是依次替换可能存在问题的单元,找出问...
PLC可编程控制器的作用?
PLC可编程控制器:可编程逻辑控制器(ProgrammableLogicController,简称PLC),一种具有微处理机的数字电子设备,用于自动化控制的数字逻辑控制器,可以将控制指...
台达PLCMODWR/MODRD指令中的H是什么意思?
我看了下,你用错了。两个重点,请参考。向左转|向右转向左转|向右转我看了下,你用错了。两个重点,请参考。向左转|向右转向左转|向右转
plc为什么加载不了虚拟电脑的模组?
你好,PLC无法加载虚拟电脑的模组可能是因为以下原因:1.兼容性问题:虚拟电脑的模组可能不兼容PLC的硬件或软件环境,导致无法加载。2.缺乏驱动程序:虚拟电...
三菱PLC编程软件GX-Developer肿么给程序加密?-ZOL问答
给你说实话,现在很多三菱FX系列的PLC加密后都可以通过软件解密你可以找一个兼容特殊加密,而且支持三菱PLC功能的PLC试试有用(0)回复这不应该叫两个初始状态...
scl编程指令详解?
SCL(StructuredControlLanguage)是可编程控制器PLC中一种类似于高级程序语言的编程语言,它允许用户进行控制逻辑的编写以实现自动化控制。以下是SCL编程指令...
plc控制步进电机原理?
[回答]可编程控制器(简称PLC)以其通用性强、可靠性高、指令系统简单、编程简便易学、易于掌握、体积小、维修工作少、现场接口安装方便等一系列优点,被广...