三菱ST语言编程中常用的函数/功能块使用方法
大部分PLC都会内置很多基本的函数和功能块供编程人员调用,而且很多具有通用性,也就是在不同品牌的PLC中,这些函数和功能块的名称、用法和功能相同,记住这些函数和功能块的名称和使用方法,能让我们编程时更加便捷。下面以三菱PLC的编辑软件GX Works3为例,展示这些函数、功能块的使用方法。边缘检测与计时器1, R_TRIG/F_TRIG(上升/下降沿检测功能块)上升沿和下降沿应该是所有程序里最常用的FB(功能块)之一了,他的功能是检测一个bool变量变化的边缘,输出一个扫描周期,下面通过一个例子介绍一下常用的命名方法和编程格式:检测开始按钮X1的上升沿, 置位Y0,检测停止按钮X2的下降沿,复位Y0。第一步声明标签, 我个人习惯将上升沿加前缀“rt”,下降沿加“ft”:https://p3-tt-ipv6.byteimg.com/origin/pgc-image/32ef02e187f0447db3601b9a3db6c839
声明标签第二步编程,FB的输入引脚赋值要在()内操作,而输出引脚可以当作变量直接使用,节省一个标签:https://p3-tt-ipv6.byteimg.com/origin/pgc-image/2a637388c0db45e6975d9e16435459ee
编程格式增加变量前缀,无论在程序的什么地方使用,都能一眼看出变量的类型,方便阅读程序。
2,TON/TOF(延时启动/关闭功能块)延时功能块也是非常常用的FB,除了起到延时的作用,还可以用来过滤信号,起到筛选的作用,例如:使用对射光电传感器X0(阻挡时ON)检测皮带上产品缝隙,当传感器OFF时间超过100ms时报警Y0。https://p26-tt.byteimg.com/origin/pgc-image/0f72ee0e7cb04c1e9039363a61aabd2f
声明标签https://p6-tt-ipv6.byteimg.com/origin/pgc-image/e4d0d297c9814cab92e7403a66afcb3e
编程
3,TP(脉冲定时器)脉冲定时器的功能是输出一个固定时长脉冲,典型的应用如报警灯的控制,举个例子:当变量bAlarm触发后,点亮报警灯Y0,要求每隔700ms亮一次,一次亮200ms,持续闪烁。https://p3-tt-ipv6.byteimg.com/origin/pgc-image/91c0ea0c22bc412da85b71c4adeb853f
声明标签https://p26-tt.byteimg.com/origin/pgc-image/ff53cbc63ea647cf865e3c094905b3fb
编程ton功能块的输入设置为自身输出的非,作用是每隔700ms生成一个单扫描周期的脉冲,tp功能块将脉冲的时长设定为200ms,并给到指示灯。
算术运算算数运算除了常用的"+","-","*","/"(加减乘除)还有“**”(幂运算)"<","=",">"(比较)等。还有一些常用的函数可供使用。1,MAX,MIN(最大值,最小值函数)https://p9-tt-ipv6.byteimg.com/origin/pgc-image/bb66b14d4c844212a4f735380148b459
选取最大值/最小值存入iMax/iMin中,三菱最多可比较28个数据。这个函数在我的《五子棋》游戏程序中有用到,选取一个棋子4个方向连棋数和分数的最大值。
2,MOD(取余数函数)https://p3-tt-ipv6.byteimg.com/origin/pgc-image/73b5914f6525440ebd06e9bf9b957bc5
取余数是非常有用的函数,比如生成一个范围内的随机数时可以使用MOD对生成的数字进行限制;可以将一维数组存入多维数组时使用MOD进行设限,例如:将一维数组DataListA的数据传递给二维数组DataListB。https://p9-tt-ipv6.byteimg.com/origin/pgc-image/4e0dbbaac4674d02a84d7bc021e6fef2
3,ABS(绝对值函数)https://p26-tt.byteimg.com/origin/pgc-image/7937560415aa4685822d91b5ed8b7f33
还有很多三角函数(sin,cos,tan)反三角函数,这里就不再演示了,用法差不多。
类型转换类型转换的函数指令非常多,基本涵盖了所有数据类型之间的相互转换,格式基本相同。https://p26-tt.byteimg.com/origin/pgc-image/c4f00e3dadbb434fbe98ee955adc9434
类型转换下面以“幂运算”为例演示用法:https://p9-tt-ipv6.byteimg.com/origin/pgc-image/34f0e4ab451944cabdfd1ed1b6b31ed3
由于三菱的幂运算要求实数,所以在计算前先将整数转为实数,计算后的结果也是实数,想要存入整数变量还要再转为整数。
字符串处理字符串的处理函数经常在TCPIP通讯中用到,尤其是工业相机的应用中,种类也是非常多:https://p6-tt-ipv6.byteimg.com/origin/pgc-image/12a162df498f4bac9af2a15156dbdd9c
字符串处理以常用的MID截取函数为例,讲述函数用法:解析由相机发来的字符串,包含一个产品的XY坐标和旋转角度C,存入实数变量iX,iY,iC。https://p26-tt.byteimg.com/origin/pgc-image/692d33922f1a4ea4aa9f47b5703addae
MID函数注意,字符串的空格也算一位。输入源字符串,截取长度,截取位置,将获得的字符串转换为实数后赋值。
其他在三菱的部件选择窗口中,可以找到非常多的系统功能块和函数:https://p6-tt-ipv6.byteimg.com/origin/pgc-image/b342b6c90a804659b2150d3dde6c1531
部件选择没有必要记住每一个函数的使用方法和名称,当你需要实现某种功能时,直接在搜索框搜索功能名称(中文就行),就会得到符合的功能块,如果不会使用可以按F1按键查看帮助。https://p6-tt-ipv6.byteimg.com/origin/pgc-image/7545de51c0f349669085fb6554383eb0
无回帖,不论坛,这才是人道。
强烈支持楼主ing…… 水个经验,楼主加油,支持你~ 哈哈哈哈笑不活,楼主这脑洞绝了! 救命!这回复笑到我捶桌,必须置顶~ 路过打卡,为优质内容疯狂打 call 求个链接 / 教程,楼主好人一生平安~ 这逻辑绝了,分析得太到位了吧 浅评一下:内容优质,值得推荐~
页:
[1]
2