抱歉,
前面好象我又理解错楼主意思了。
楼主有可能是想做一个“万能程序”,让同一个PLC程序可以用在多台相似的机器上。
理论上只要硬件不冲突,还真的可以。
一是根据软元件的数值不同,机器做不同的动作。
二是根据接线不同,机器作不同用途。比如短接X1是弯管机,短接X2变成清洗机,短接X3变成包装机。
比如QQ.exe 我可以一台电脑开3个QQ,只是输入不同账号和密码。但进程里都是三个QQ。
有一个舞台项目大概编程思路是这样:
程序由:扫描主程序,功能子程序,参数输入输出 三部分组成
导演希望在不同时间段,舞台出现不同的背景。(比如央视春晚的背景液晶屏)
一组参数为10个D,D0-D9。
D0代表此动作保持的时间,D1代表伺服移动时的速度,D23456789代表8个伺服的绝对位置。
一共有100组参数。
客户在触摸屏上设置好每组画面8块液晶的高低数值。按联机启动时,一组一组依次展示,从第1组到第100组。
比如某小品节目使用3号参数,某相声节目使用8号参数,某歌唱节目使用10号参数。
也可以事先输入好,根据导演的时间自动运行。当然也可以手动运行,就是直接使用其中一组参数。
这些D代表了不同的参数,有点象QD75P编程时的定位数据那种概念。
主程序 先扫描第一个D,如果D>0,那说明这里有活干,就触发了相应的子程序。并且在触发前把D1-D9这些参数传送到相应的子程序对应的区域。
再举一个例:
假如某设备控制机械手在电脑上打字。电脑键盘上的123456789ABCDEFG回车空格就可以在触摸屏上选择
比如按键“1数字”的话,就可能是伺服移动到X=20,Y=30的位置,然后再输出一下气动元件。
比如按键“enter回车键”的话,就可能是伺服移动到X=120,Y=80的位置,然后再输出一下气动元件。
所以有可能我们要把所有字母对应的位置先输入到掉电保持寄存器中保持起来。
然后触摸屏上输入了ymmfa.com回车
PLC把分别把y存入D0,m存入D10....回车存入D100
主程序扫描D0,然后根据D0的内存,把相应存储区的XY坐标找出来MOV过去,然后CALL伺服移动的子程序。
执行完后再做下一行,直到遇到空白参数为止才停下
这是一种原始的笨方法,不过实现起来比较容易。
最早的时候梦想当一个黑客,做出一个万能程序,这个程序可以不断升级自己,并且不断分身,一个用来守护进程,一个用来寻找肉鸡,一个用来自我升级。。。
后来发现其实人世间就这样一个程序,一个程序叫孩子,参数是天天不听话。一个程序叫老婆,参数是天天使劲花钱,当然还有很多很多程序,比如广大网友们。有的看贴回复,有的看贴不回复。