由于某浪博客一直不正常,售后也一直不相应我的求助,今后就在这里更新吧。
现场有这样一种需求:当布料小车停在某个储槽上方下料时,希望能够记录什么时间在什么储槽上方,便于查询。我先简化做了一个测试练习,现在把练习过程记录下来。
1. 建立数据库
在sql server新建一个数据库myDB。赋予数据库用户sa访问这个数据库的权限。数据库下新建一个表PositionRecord,表结构如下
myID为主键,递增。
保存新建的表。
2.新建ODBC连接mtRecord,指向刚才新建的sql数据库。
3.新建citect项目
4. 新建本地变量
5.新建画面,放置按钮和图形,按钮用于修改本地变量数值,模拟现场信号变化,图形用于观察变量变化效果。
6.新建cicode函数
FUNCTION P1record()
STRING myTime,Posidescrip;
myTime=Date(10)
Posidescrip="A313布料小车处于1#槽位"
INT hSQL;
STRING SqlAction;
SqlAction= "INSERT INTO PositionRecord(myTime,Posidescrip) VALUES (‘" + myTime + "‘,‘" + Posidescrip + "‘)"
hSQL = SQLConnect("DSN=myRecord;UID=sa;PWD=sa");
IF hSQL <> -1 THEN
SQLExec(hSQL, SqlAction);
SQLDisconnect(hSQL);
END
END
FUNCTION P2Record()
STRING myTime,Posidescrip;
myTime=Date(10)
Posidescrip="A313布料小车处于2#槽位"
INT hSQL;
STRING SqlAction;
SqlAction= "INSERT INTO PositionRecord(myTime,Posidescrip) VALUES (‘" + myTime + "‘,‘" + Posidescrip + "‘)"
hSQL = SQLConnect("DSN=myRecord;UID=sa;PWD=sa");
IF hSQL <> -1 THEN
SQLExec(hSQL, SqlAction);
SQLDisconnect(hSQL);
END
END
7.新建两个事件,通过触发执行事件
8. 编译。
9.设置计算机向导,允许运行期间执行这两个事件。
10.运行citect程序,点击按钮,使P1、P2置位。到sql server中查看PositionRecord表记录,可以看到新添加的记录。