ifix中AlarmODBC完美解决方案 点击:1099 | 回复:0



昆仑摩勒

    
  • 精华:1帖
  • 求助:1帖
  • 帖子:32帖 | 446回
  • 年度积分:0
  • 历史总积分:1058
  • 注册:2004年11月22日
发表于:2007-05-15 16:41:00
楼主
在实际工程中,往往需要将报警信息存入数据库中,便于历史报警信息的查询等操作。
使用比较多的是access数据库。在许多朋友的使用过程中会发现这样一个问题:报警记录不断增加,导致数据库mdb文件不断增大,删除报警记录也无济于事。这时就需要压缩数据库。但是,在报警ODBC运行时,数据库文件一直处于锁定状态,无法进行压缩,出现提示


经过本人的摸索,终于找到了解决的方法。

1.在配置报警ODBC时注意图示选项


勾选“允许操作员暂停报警记录”,便于在ifix运行过程中可以暂停对mdb的操作,便于压缩数据库

2.声明操作报警ODBC的函数
Private Declare Function PauseAlarmODBC Lib "missionvba" () As Long'暂停报警写入

Private Declare Function ContinueAlarmODBC Lib "missionvba" () As Long'继续报警写入


3.需要压缩数据库的时候,先暂停报警写入 PauseAlarmODBC (成功返回值为0)
(注意第一张图中配置的“更新时间间隔”设置为1秒,在暂停成功的1秒之内便可以看到下图中的“连接丢失”,(只有连接丢失才可以进行压缩数据库)。因此更新时间间隔不要设置得过大!



4.用脚本删除数据库中记录(这个难不倒各位吧?)

5.用脚本压缩数据库,(网上的代码一大堆,在此就不贴出了)

6.恢复报警写入 ContinueAlarmODBC '(成功返回值为0)

希望此贴能对被此问题困扰的朋友有帮助!


热门招聘
相关主题

官方公众号

智造工程师