威纶通官方论坛

电脑上离线模拟跟人机显示所需的宏指令有什么不一样吗?

[复制链接]
发表于 2012-3-5 16:25:33 | 显示全部楼层 |阅读模式
为什么我在电脑上不管做"12小时进制时钟显示示例(或"系统运行时间累加示例")进行离线模拟实验,都能正常显示时间数值.下载到人机进行运行就不能正常显示了呢?要么时钟不会动,要么系统运行时间不会累加!
电脑上离线模拟跟人机显示所需的宏指令有什么不一样吗?
按系统运行时间累加示例来说:宏指令是复制过来的,PLC控制的触发地址一样,数值显示的设置也一样.就是在电脑上能累加时间,在人机上不能累加(一直显示为0)
发表于 2012-3-6 10:53:19 | 显示全部楼层
是一样的,能否发送传程序上来测试?
 楼主| 发表于 2012-3-6 21:00:38 | 显示全部楼层
电脑上离线模拟我测试过,能显示的!就是连接PLC就执行不了了!
我用的是MT6070iH人机,打开EB8000建立新文件,从“系统运行时间累加示例”里直接把画面、宏指令复制过来,再在新文件建立PLC控制。离线模拟就能显示了!可下载到MT6070iH人机里面就不行了!

评分

1

查看全部评分

 楼主| 发表于 2012-3-6 21:08:16 | 显示全部楼层
麻烦您帮忙看下?是不是我哪里设置有问题?

本帖子中包含更多资源

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

x
发表于 2012-3-7 11:11:08 | 显示全部楼层
day[3]=time_run-day[0]*86400-day[1]*3600-day[2]*60
这钟类型分开写吧
 楼主| 发表于 2012-3-7 22:50:50 | 显示全部楼层
怎么分开写?能否说具体些?我对这宏指令语句还真看不明白!
day[3]=time_run-day[0]*86400-day[1]*3600-day[2]*60
关于这句意思,我猜是秒计算用的!
发表于 2012-3-11 10:24:42 | 显示全部楼层
后面的计算式比较长,可以分步运算。
 楼主| 发表于 2012-3-15 10:28:41 | 显示全部楼层
怎么分步?能否举个例子?因为我对宏指令还真不懂,举个例子好参考理解!
发表于 2012-3-16 14:08:03 | 显示全部楼层
day[3]=time_run-day[0]*86400
day[3]=day[3]-day[1]*3600
day[3]=day[3]-day[2]*60
 楼主| 发表于 2012-3-20 11:31:28 | 显示全部楼层
是不是整个宏语句如下:
macro_command main()
int time_current,time_history,time_run
int day[4]
bool flag

GetData(time_current, "Local HMI", LW, 9030, 1)
GetData(flag, "Local HMI", LB, 0, 1)

if flag==false then
  GetData(time_history, "Local HMI", RW, 0, 1)
  time_history=time_history-time_current/10
  flag=true
  SetData(flag, "Local HMI", LB, 0, 1)
end if
time_current=time_current/10
time_run=time_history+time_current
day[0]=time_run/86400                                    //days
day[1]=(time_run-day[0]*86400)/3600                      //hours
day[2]=(time_run-day[0]*86400-day[1]*3600)/60            //minutes
day[3]=time_run-day[0]*86400                             //seconds
day[3]=day[3]-day[1]*3600                                //seconds
day[3]=day[3]-day[2]*60                                  //seconds

SetData(time_run, "Local HMI", RW, 0, 1)

SetData(day[0], "Local HMI", LW, 0, 4)

end macro_command



下载到人机里面还是显示0啊?时间不会累加显示!
 楼主| 发表于 2012-3-20 13:28:58 | 显示全部楼层
难道是电脑计算速度快,能模拟显示?人机计算速度慢,来不及运算?不能显示吗?
或者是读取的地址不对?读取地址如下:
W0
W00000002
W00000004
W00000006
清零:写入地址RW0、写入常数0
或者是没触发宏指令?电脑模拟的时候能工作,说明宏指令能触发了的啊?
发表于 2012-3-20 17:25:28 | 显示全部楼层
我用你的程序下载至触摸屏测试了,测试是正常的。
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-11-21 20:38

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

快速回复 返回顶部 返回列表