威纶通官方论坛

新版的EBproV6.01.02.146_20180911遇到的问题

[复制链接]
发表于 2018-11-24 11:21:17 | 显示全部楼层 |阅读模式
触摸屏型号是MT6103IP
PLC是松下XH-c60

我之前用的旧版本EBPro写的程序,触摸屏运行一直正常

后来升级成EBproV6.01.02.146_20180911,写入后就不正常了,是一个宏指令不正常

我这个宏指令是这样运行的:


1、读出触摸屏的时钟数据
2、在时钟等于0分0秒的时候,把PLC的自动运行时间清零,这样每个小时都会清空数据

宏设定成500ms执行一次






软件的下载日期


这是未升级软件之前的,每个小时都能正常清零



这是升级成最新版的,出现不能清零的情况



这是软件的BUG还是什么?


现在附上整个宏的源代码
macro_command main()

int ibasic=50000//宅基地
short rd_sdate[5]//[0]秒,[1]分,[2]时,[3]日,[4]月读出
bool rd_bclear[2]//两个清零按钮读出,0:进料清零;1:出料清零
int rd_ifeedNew,ifeedOld//进料
int rd_iexportNew,iexportOld//出料
short rd_sAutoTime//自动运行时间,由PLC计算
short rd_sAlmTime//故障时间,由PLC计算
int iTimeOffset,iDateOffset,iOffset//时间偏移,日期偏移,每小时偏移
short wr_sbuf[4]//写入报表的缓冲区
short soff=0
int ioff=0,a
bool boff=0

short sfeedNow//当前时间进料数
short sexportNow//当前时间出料数

bool bfirst,bfirst2//第1次

GetData(rd_sdate[0], "Local HMI", LW, 9017, 5)//[0]秒,[1]分,[2]时,[3]日,[4]月读出
//GetData(rd_sdate[0], "Local HMI", LW, 10002, 2)

GetData(rd_ifeedNew, "Panasonic FP/KW", DT, 650, 1)//进料
GetData(rd_iexportNew, "Panasonic FP/KW", DT, 652, 1)//出料
GetData(rd_sAutoTime, "Panasonic FP/KW", DT, 654, 1)//自动运行时间
GetData(rd_sAlmTime, "Panasonic FP/KW", DT, 656, 1)//故障时间
GetData(rd_bclear[0], "Local HMI", LB, 350, 2)//两个清零按钮读出

//计算偏移
iTimeOffset=rd_sdate[2]*20//时
iDateOffset=(rd_sdate[3]-1)*500//日
iOffset=iTimeOffset+iDateOffset+ibasic

//0时,0分,1秒,清空当天数据,避免上月残留
//[0]秒,[1]分,[2]时,[3]日,[4]月
if rd_sdate[2]==0 and rd_sdate[1]==0 and rd_sdate[0]==1 and bfirst2==0 then
       
                for a=0 to 499
                        SetData(ioff, "Local HMI", RW_A, iOffset+a, 1)
                next
                ifeedOld=0
                iexportOld=0
                SetData(ioff, "Panasonic FP/KW", DT, 650, 1)//进料总数
                SetData(ioff, "Panasonic FP/KW", DT, 652, 1)//出料总数
       
        bfirst2=1
end if

if rd_sdate[2]==0 and rd_sdate[1]==0 and rd_sdate[0]==5 then

        bfirst2=0
end if

//数据排序写入缓冲区
wr_sbuf[0]=sfeedNow
wr_sbuf[1]=sexportNow
wr_sbuf[2]=rd_sAutoTime
wr_sbuf[3]=rd_sAlmTime

SetData(wr_sbuf[0], "Local HMI", RW_A, iOffset, 4)
SetData(rd_sdate[4], "Local HMI", RW_A, iDateOffset+ibasic+480, 1)//月写入
SetData(rd_sdate[3], "Local HMI", RW_A, iDateOffset+ibasic+481, 1)//日写入
//TRACE("iTimeOffset=%d,iDateOffset=%d,iOffset=%d",iTimeOffset,iDateOffset,iOffset)

//旧数据只在00分00秒读出,新数据一直在读出,新数据-旧数据=当前时间的数量
//[0]秒,[1]分,[2]时,[3]日,[4]月
if rd_sdate[1]==0 and rd_sdate[0]==0 and bfirst==0 then
        ifeedOld=rd_ifeedNew
        iexportOld=rd_iexportNew
        SetData(soff, "Panasonic FP/KW", DT, 654, 1)//自动运行时间清零
        SetData(soff, "Panasonic FP/KW", DT, 656, 1)//故障时间清零
       
        bfirst=1
       
end if
//[0]秒,[1]分,[2]时,[3]日,[4]月
if rd_sdate[0]>0 then

        sfeedNow=rd_ifeedNew - ifeedOld//进料数量计算
                if rd_bclear[0]==1 then//清零按钮
                        ifeedOld=(sfeedNow*(-1))
                        SetData(ioff, "Panasonic FP/KW", DT, 650, 1)//清零
                        SetData(boff, "Local HMI", LB, 350, 1)//关按钮
                end if
               
        sexportNow=rd_iexportNew-iexportOld//出料数量计算
                if rd_bclear[1]==1 then
                        iexportOld=(sexportNow*(-1))
                        SetData(ioff, "Panasonic FP/KW", DT, 652, 1)//清零
                        SetData(boff, "Local HMI", LB, 351, 1)//关按钮
                end if
       
        bfirst=0
               
end if




end macro_command

本帖子中包含更多资源

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

x
 楼主| 发表于 2018-11-24 11:29:55 | 显示全部楼层
更新软件后,有时能清零,有时不能清零,运行时间大于60的就是不能清零的数据
发表于 2018-11-24 17:17:37 | 显示全部楼层
首先抱歉的说一下,我也是个学习者。
看到上面的现象是特有同感,好多次同样的程序升级后就不能像以前一样好用了,有宏指令;也有其他功能。
但是上面的现象不知道把执行周期500ms改小,或者执行方式由plc的启动宏指令执行。理由如下:
可能低版本plc与触摸屏通信稳定且通迅时间小于500ms,但是升级后plc与触摸屏通信不稳定且通迅时间有时大于1000ms(1s);有几率造成在本次0分0秒执行宏指令;等宏指令执行完成时间已经是0分2秒了,再次执行已经错过了宏指令中的“if rd_sdate[2]==0 and rd_sdate[1]==0 and rd_sdate[0]==1 and bfirst2==0 then”的条件而无法清零。
 楼主| 发表于 2018-11-25 11:59:42 | 显示全部楼层
文鸿旭 发表于 2018-11-24 17:17
首先抱歉的说一下,我也是个学习者。
看到上面的现象是特有同感,好多次同样的程序升级后就不能像以前一样 ...

因为同样的程序,在旧版本的软件就没有问题的,所以我怀疑新版的软件性能下降的不是一点半点
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

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

GMT+8, 2024-11-21 21:08

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

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