三菱st语言for_三菱Q系列PLC,用ST语言编写逻辑阵列,很适合取放定位应用

本文介绍了如何使用三菱ST语言为三菱Q系列PLC编写逻辑阵列,适用于取放定位应用。通过两个不同方案,分别利用一维数组和二维数组实现数据运算和存储,详细阐述了程序逻辑和步骤。程序可方便复制粘贴,供学习和实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

逻辑阵列要求:给定零点坐标,自动将其他点的数据进行运算,结果存入数组中。通过特定算法,可以知道某个点位的坐标值。

程序一,用两个一维数组编写:

2a95279db1168885a1064fbc68c65394.png

IF LDP(1,X0)THEN(*如果x0上升沿接通,清零*)

FMOV(1,K0,K20,D100);(*清零,把0传送到d100开始的20个D*)

FMOV(1,K0,K5,行数[0]);(*清零,一维数组的1-5行清零*)

FMOV(1,K0,K7,列数[0]);(*清零,一维数组的1-7列清零*)

END_IF;

IF LDP(1,X1)THEN(*如果x1上升沿接通,启动重复*)

FOR D100:=0 TO 6 BY 1 DO(*0-6列的重复*)

列数[D100]:=D110 ; (*d110初值为0*)

D110:=D110+50;(*d110循环一次加50*)

END_FOR;

FOR D101:=0 TO 4 BY 1 DO(*0-4行的重复*)

行数[D101]:=D115 ;(*d115初值为0*)

D115:=D115+50;(*d115循环一次加50*)

END_FOR;

END_IF; (*上面已把坐标数据存入数组*)

D300:=列数[D105]; (*输入列数,把数据读到d300*)

D400:=行数[D106]; (*输入行数,把数据读到d400*)

5104b452c089ac49bbf3c2866eae2676.png

程序二,用一个二维数组编写:

c10222da23eea853181d55284e996863.png

IF LDP(1,X0)THEN (*当x0上升沿接通,清零*)

FMOV(1,K0,20,D100); (*复位d100-d119*)

FMOV(1,K0,35,矩阵[0,0]); (*复位矩阵0,0-4,6*)

END_IF;

IF LDP(1,X1)THEN (*当x1上升沿接通,循环*)

FOR D100:=0 TO 4 BY 1 DO (*执行行数*)

FOR D101:=0 TO 6 BY 1 DO (*执行每行列数*)

矩阵[D100,D101]:=D110; (*d110初值为0*)

INC(1,D110);(*d110自加1*)

END_FOR;

END_FOR;

END_IF; (*矩阵的点的位置已经保存*)

D300:=矩阵[D105,D106]/7*50; (*求数在几行,除7乘50*)

D400:=矩阵[D105,D106] MOD 7*50; (*求数在几列,除7余数乘50*)

21cc912e934e97f1572af68adc095a70.png

ST语言编写的程序可以方便的复制、粘贴,有兴趣的朋友可以复制回去实验一下哦。

#PLC##电工交流圈##电工#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值