yangjunhua
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看yangjunhua的 主题 / 回贴
楼主  发表于: 2008-03-06 09:37
图片:
要求:触摸屏上按下(保存)按钮,把当前日期和当前班次件数d300保存,然后d300清0,每次按下(保存)按钮,都能把当前日期和当前班次件数d300保存并清0,共可保存30次,第31次把第一次保存的数覆盖。然后可以实时查看以前保存过的班次件数。
我的是使用FX-3uc plc ,触摸屏GoT1150-QSBD-C,我编的程序会传上来,做法是在触摸屏上编好日期保存的数据寄存器d700,d800,d900和班次件数d1000等,就是占用了d700--d729,d800-d829,d900-d929,d1000-d1029.这样是达到这种可保存的效果了,但是感觉不太人性化,也就是最后一次保存的数不是在第一位,而是在下面某一行,这样查看起来不方便,我想问问大家能不能让最后一次保存的值永远放在第一位,下面的依次往下移,最开始保存的数到最后。
附件: 00000.rar (10 K) 下载次数:27
网站提示: 请不要用迅雷下载附件,容易出错
yangjunhua
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看yangjunhua的 主题 / 回贴
1楼  发表于: 2008-03-06 16:22
怎么没人看呢?我自己顶上去!嘿嘿!
天外飞仙
级别: 工控侠客
精华主题: 2 篇
发帖数量: 337 个
工控威望: 3091 点
下载积分: 1985 分
在线时间: 13(小时)
注册时间: 2007-08-19
最后登录: 2024-06-26
查看天外飞仙的 主题 / 回贴
2楼  发表于: 2008-03-06 21:27
可以用屏内部的配方索引功能来实现你的要求。使你每一次的记录更新保存在第一位,后面多余的自动清除。不过我不知道你上面这款三菱的屏有没有配方功能,查看你屏的使用手册,上面应该提了的。
本公司专业销售WEINVIEW、信捷触摸屏,信捷PLC,三晶变频器,东元伺服,日本高士美换模系统。承接各项自动化流水工程制造与设计以及设备改造  www.czzlzdh.com
yangjunhua
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看yangjunhua的 主题 / 回贴
3楼  发表于: 2008-03-07 09:51
没有找到配方功能,有没有其他的方法了,主要是程序上做些修改可以不?我在想能不能像c语言编程一样采用指针方法呢!不过我还是搞不出来 ,请高手帮忙想个法子吧,不胜感激!
daizhi
一师一地一时一法
级别: VIP会员

精华主题: 0
发帖数量: 1470 个
工控威望: 1376 点
下载积分: 3900 分
在线时间: 2976(小时)
注册时间: 2007-05-31
最后登录: 2023-11-27
查看daizhi的 主题 / 回贴
4楼  发表于: 2008-03-07 14:46
看一下脚本功能!
yooyo
级别: 略有小成
精华主题: 0
发帖数量: 65 个
工控威望: 201 点
下载积分: 833 分
在线时间: 66(小时)
注册时间: 2008-01-26
最后登录: 2022-01-27
查看yooyo的 主题 / 回贴
5楼  发表于: 2008-03-07 22:12
应该不难吧?设计一个数据传递程序就可以。
yooyo
级别: 略有小成
精华主题: 0
发帖数量: 65 个
工控威望: 201 点
下载积分: 833 分
在线时间: 66(小时)
注册时间: 2008-01-26
最后登录: 2022-01-27
查看yooyo的 主题 / 回贴
6楼  发表于: 2008-03-08 00:04
这个好像有点问题,日期应该是16位数,就是d700--d729,d800-d829,d900-d929,班次件数应该是32位数,就是d1000-d1059吧?

楼主搞复杂了,简单的几句 fnc15 bmov 就可以了
yangjunhua
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看yangjunhua的 主题 / 回贴
7楼  发表于: 2008-03-08 08:46
引用
引用第7楼yooyo于2008-03-08 00:04发表的  :
这个好像有点问题,日期应该是16位数,就是d700--d729,d800-d829,d900-d929,班次件数应该是32位数,就是d1000-d1059吧?

楼主搞复杂了,简单的几句 fnc15 bmov 就可以了

你说的很对,我是用另一种方法完成这个班次件数的,原理和这个一样,因为那句程序不支持32位,所以我是采用了一个笨方法达到的,但是还达不到理想的效果啊!
fnc15 bmov 指令怎么实现循环传送呢?比如:bmov d200 d300 k3指令,是指把d200 d201 d202 ,的值送到d300 d301 d302中,我的控制要求是只把d200送到d300 d301 d302中,循环保存,这个指令怎么达到这种效果呢。我想不明白!
[ 此贴被yangjunhua在2008-03-08 09:03重新编辑 ]
yooyo
级别: 略有小成
精华主题: 0
发帖数量: 65 个
工控威望: 201 点
下载积分: 833 分
在线时间: 66(小时)
注册时间: 2008-01-26
最后登录: 2022-01-27
查看yooyo的 主题 / 回贴
8楼  发表于: 2008-03-08 14:31
虽然不支持32位,但是可以执行两次fnc15 bmov 就可以了。
比如工件次数1放在d1000(低位)和d1001(高位),工件次数2放在d1002和d1003,工件次数3放在d1004和dd1005
执行两次bmov  d1000 d1001 k3,原来次数3被次数2代替,次数2被次数1代替。

看看我改的对不对
附件: 改.rar (10 K) 下载次数:7
网站提示: 请不要用迅雷下载附件,容易出错
yangjunhua
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看yangjunhua的 主题 / 回贴
9楼  发表于: 2008-03-08 16:27
谢谢yooyo,我看过了,刚做了仿真,可以实现,太感谢你了,你一下就把我好几个月想不明白的程序给解决了!但是有一点小问题,把你写的程序最后的rst d700 ,d800,d900去掉就完全正确了,因为班次件数是要清0的,日期不能清0要不然就没有办法显示日期了!我修改了一下,发上来,大家看看吧!最后再次感谢你,也感谢所有热心的网友!,谢谢你们!
附件: 改.rar (10 K) 下载次数:4
网站提示: 请不要用迅雷下载附件,容易出错
yooyo
级别: 略有小成
精华主题: 0
发帖数量: 65 个
工控威望: 201 点
下载积分: 833 分
在线时间: 66(小时)
注册时间: 2008-01-26
最后登录: 2022-01-27
查看yooyo的 主题 / 回贴
10楼  发表于: 2008-03-08 18:33
呵呵,不客气!

其实我已经留意到你所说的那个bug了,只不过不知道d700 ,d800,d900是从哪里来的。

这其实是一个比较常用的编程技巧,多看点资料就可以了。

有什么问题大家提出来,共同进步!