超简洁的五项电机PLC程序

[复制链接]
查看1829 | 回复8 | 2009-5-24 10:34:00 | 显示全部楼层 |阅读模式
个人编写了一个五相电机的程序 结果发现只要19步[upload=rar,五相电机.rar]viewFile.asp?ID=4943[/upload]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
jshukun | 2009-5-24 15:57:00 | 显示全部楼层

看完帖子要顶啊 看后也留点建议哈

loveplc | 2009-5-24 19:33:00 | 显示全部楼层

楼主的思路是很好的,用到移位指令。

但是,如果要定脉冲输出,或者,调速,就很麻烦了。

此程序还需要完善!期待出第二版本

[upload=jpg,五项电机plc程序.jpg]UploadFile/2009-5/200952419355596136.jpg[/upload]
[此贴子已经被作者于2009-5-24 19:35:58编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
loveplc | 2009-5-24 19:34:00 | 显示全部楼层

下面是移位指令的一些信息:

ROR,RORP,ROL,ROLP:16位指令 DROP,DROPP,DROL,DROLP:32位指令

右回转ROR与左回转ROL指令编程方式如下:
ROR D10 K2
ROL D10 K2
*D10将要执行回转动作的寄存器,可以是寄存器,T,C或是位元件的组合如K4Y0,K4M0,K4S0( 不允许KnX),并且只有K4和K8有有效的如:K4M10,K8Y0
*K2要回转的位数,只能是数值。用于16位指令必须小于16,用于32位指令必须小于32。

实例:
假设D0=29477 0111 0011 0010 0101

LD M0
RORP D0 K3 (M0闭合,只执行一次右回转指令,每次向右回转3个位)
结果为D0=-20892 1010 1110 0110 0100

LD M0
ROLP D0 K3 (M0闭合,只执行一次左回转指令,每次向左回转3个位)
结果为D0=-26325 1001 1001 0010 1011

带进位右回转指令(RCR,RCRP,DRCR,DRCRP),带进位左回转指令(RCL,RCLP,DRCLP,DRCL)

仍发上述的例子解释,比较带进位与不带进位回转指令的区别:
假设D0=29477 0111 0011 0010 0101

LD M0
RCRP D0 K3 (M0闭合,只执行一次右回转指令,每次向右回转3个位)
假设此时进位标志M8022为断开状态(M8022=0)右起的第三位(“1”)丢失,右面两位与M8022组合(01+M8022=010)右转。
结果为D0=20068 0100 1110 0110 0100

LD M0
RCLP D0 K3 (M0闭合,只执行一次左回转指令,每次向左回转3个位)
假设此时进位标志M8022为闭合状态(M8022=1)左起的第三位(“1”)丢失,左面两位与M8022组合(M8022+01=101)左转。
结果为D0=-26323 1001 1001 0010 1101

jshukun | 2009-5-24 22:05:00 | 显示全部楼层

这个没考虑过 当时实验课只是追求短 突破老师的26步

loveplc | 2009-5-24 22:22:00 | 显示全部楼层
提醒一下,你可以用定时器来控制脉冲频率,用计数器 计数发出的脉冲!这样就完美了!
chuangzuojia | 2009-6-3 11:03:00 | 显示全部楼层

进来看看。鉴别一下程序的好坏。有无水准。

星空一点roy | 2013-3-12 22:25:25 | 显示全部楼层
谢谢楼主分享!
eae0209x | 2013-5-28 13:50:17 | 显示全部楼层
謝謝分享收穫多多
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则