• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
zhengyueyong
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看zhengyueyong的 主题 / 回贴
楼主  发表于: 2007-08-31 08:24
[各位老师,帮我编一下饮料灌装机上用的灌装放盖程序,小生先在此万分感谢!工控是三菱FX2N80MR,大概控制是这样的,机器每走一步(进一个瓶或是出去一个瓶),传感器X1给出一个信号(跟脉冲差不多),这个信号用来计算运转速度,同时是放盖阀和灌装阀的同步信号,运转的机器开始进瓶,冲洗,过渡到灌装区的入口有传感器X2,信号跟X1一样,感应到有瓶后机器再走8步,要求打开灌装阀Y1,开始灌装,连续有瓶时Y1是一直有输出的,X2无信号时机器走8步关Y1。开灌装阀Y1之后68步开放盖阀Y2,Y2跟Y1一样,有瓶过来一直打开![


这样说吧,X2有信号后X1再输入8个脉冲打开Y1,再过68个脉冲打开y2,如果只过来一个瓶子的话(x2亮一下)走8步(x1亮8次)后只开它这一个阀(Y1在X1亮8次时开,亮9次时关)灌装,再过68步后只给一个瓶盖(Y2跟Y1一样方式开关),其中x1是一直有脉冲的传感器,机器动一个工位亮一次,x2检测有瓶信号,来一个瓶子就亮一下,再过8个工位灌装阀y1跟x1的信号同步打开,y2再延后68步,连续有瓶的话就一直打开!
[ 此贴被zhengyueyong在2007-09-08 18:55重新编辑 ]
附件: 延后放盖调试.rar (12 K) 下载次数:62
网站提示: 请不要用迅雷下载附件,容易出错
guqiming888
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看guqiming888的 主题 / 回贴
1楼  发表于: 2007-08-31 10:34
spc_cll
级别: 略有小成
精华主题: 0
发帖数量: 103 个
工控威望: 323 点
下载积分: 923 分
在线时间: 32(小时)
注册时间: 2007-08-08
最后登录: 2020-09-10
查看spc_cll的 主题 / 回贴
2楼  发表于: 2007-08-31 11:31
设置8+68个状态标志位,用来记录各工位(每步)的状态,有瓶为On,无瓶为Off
(当瓶离开检测区后,谁知道哪个工位步上是有瓶的呢,因此要记录下来)
然后在每个工步循环中(x1亮一次))将标志位向后移动一位,在首位记录该工步是否有瓶(x2亮一下)
检测第8位是否为On,是则输出y1=On,否则y1=Off.
检测第8+68=76标志是否为On,是则输出y2=On,否则Y2=Off

检测最后两个标志位(75,76),若都是On,则表示瓶连续,否则不连续.
zhengyueyong
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看zhengyueyong的 主题 / 回贴
3楼  发表于: 2007-08-31 23:47
谢谢楼上的大哥!这个看来要用到先进先出堆栈控制,呵呵,要用8+68个寄存器,真够复杂啊!我先试试看,搞不定再来请教各位师兄!
zhengyueyong
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看zhengyueyong的 主题 / 回贴
4楼  发表于: 2007-09-01 08:35
用堆栈不行,最多11个堆栈,是用哪种方式啊,师兄?
zhengyueyong
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看zhengyueyong的 主题 / 回贴
5楼  发表于: 2007-09-01 15:12
根据楼上大哥的指点,我刚刚编了一段程序,先只用8工步做的,调试了好几次都通过了,请师兄们指教一下,因为8步就这么难搞,68步的,呵呵.......看看我是不是太笨了,有没有更好的办法呢?
附件: 延后放盖调试.rar (11 K) 下载次数:37
网站提示: 请不要用迅雷下载附件,容易出错
zhengyueyong
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看zhengyueyong的 主题 / 回贴
6楼  发表于: 2007-09-01 15:25
我总觉得我走弯路了,各位师兄给点意见噻!
zhengyueyong
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看zhengyueyong的 主题 / 回贴
7楼  发表于: 2007-09-01 23:17
大家看看噻,
spc_cll
级别: 略有小成
精华主题: 0
发帖数量: 103 个
工控威望: 323 点
下载积分: 923 分
在线时间: 32(小时)
注册时间: 2007-08-08
最后登录: 2020-09-10
查看spc_cll的 主题 / 回贴
8楼  发表于: 2007-09-04 09:37
不需要堆栈,就用位寄存器,也可以用字寄存器(编码一下)
spc_cll
级别: 略有小成
精华主题: 0
发帖数量: 103 个
工控威望: 323 点
下载积分: 923 分
在线时间: 32(小时)
注册时间: 2007-08-08
最后登录: 2020-09-10
查看spc_cll的 主题 / 回贴
9楼  发表于: 2007-09-04 09:57
给你写个简单的信号检测及缓存的DELPHI程序,就几行,你自己转换为PLC程序
设状态标志数组为m[0..75]
if x1=on then begin
  for i:=75 downto 1 do begin
        m:=m[i-1];
  end;
  if x2=on then m[0]=on else m[0]:=off
end;

上面的程序判断工步信号X1是否到达,
是则先将所有标志为后移一位,即:M[75]=M[74],m[74]=[m[73]....
最高位m[75]被舍去,留出首位来存放本工步中是否有瓶的信号。
然后则判断是否有瓶(x2信号),
有瓶(x2=on),则将首位标志m[0]设置为On,否则设置为OFF
...

若用字寄存器,方法一样的.
其他部分的PLC程序,相信不成问题了。
[ 此贴被spc_cll在2007-09-04 10:07重新编辑 ]
zhengyueyong
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看zhengyueyong的 主题 / 回贴
10楼  发表于: 2007-09-08 18:52
谢谢楼上的大哥,这几天下来终于搞定了,这个是延后18步的程序!
附件: 延后放盖调试.rar (12 K) 下载次数:82
网站提示: 请不要用迅雷下载附件,容易出错
xin
级别: 略有小成
精华主题: 0
发帖数量: 90 个
工控威望: 241 点
下载积分: 2075 分
在线时间: 44(小时)
注册时间: 2007-08-12
最后登录: 2024-11-30
查看xin的 主题 / 回贴
11楼  发表于: 2007-09-08 19:54
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go