
1、定义一个计数器变量,用于记录米数,例如C1。
2、在程序开始时,将计数器变量C1清零。
3、在每次检测到编码器信号时,将计数器变量C1加1。
4、根据编码器的分辨率和轮子的直径计算出每个编码器信号所对应的距离,例如每个信号对应0.1米。
5、在每次计数器变量C1增加时,将计数器变量C1乘以每个信号对应的距离,得到当前的米数。
6、将当前的米数输出到PLC的输出口,以便后续的使用。
写两句给你参考LDP M8000 上电就写数据进去
DMOV K0 D0
DMOV K1000 D2 K1000为下刀距离 根据你的编码器及要走的距离设定K值
DMOV D0 C251
LDD= C251 D2
OUT Y0 下刀
LDP Y0
DMOV D0 C251 复位计数器
至于你要个完整的 只有靠你自己才能完成 因为其中涉及你的运行控制等等的东西
数组的[ ]中既可以声明为INT变量表达式,也可以是整形表达式,数组的长度范围不会随时变化,在其生存期内的长度仍然是固定不变的。在FC的Input接口中定义变长数组,数组的名称是:Input_1,数据类型是:Array[*] of Int;
在Output接口中定义变量Output_1,数据类型是int,该变量作为变长数组元素求和的结果;
在TEMP接口中定义Temp_1;Temp_2;Temp_3;Temp_4,数据类型依次是DINTDINTDINTINT;分别临时存储变长数组的下限值,上限值,下标值,求和值;
Step2:
在FC的程序段1中进行求和存储的初始化;
Step3:
在FC的程序段2中,利用LOWER BOUND和UPPER BOUND指令进行上限值和下限值的计算;
Step4:
在FC的程序段3中,利用数组的下限值对数组的下标进行初始化;
Step5:
在FC的程序段4中,求变长数组元素的和;
Step6:
在FC的程序段5中,当下标小于下标上限值时,下标自动加1,ENO=1后,JMP至标签处;
Step7:
在FC的程序段6中,变长数组的元素全部求和后,将临时存储器中的数据输出给Output_1中;
Step8:
在OB1中,调用FC;
Step9:
新建DB,创建变量;
Step10:
监控DB,然后人为赋值给DB,来看计算的结果是否准确;
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)