如何用VB编程读出IFIX2.6中tag的实时数据
告诉你一个容易的方法,用DDE读IFIX标签中的实时数据。 条件:
IFIX的节点名为FIX 标签名为ai 程序: 运行IFIX
运行DMDDE.EXE
在VB中建立一个TEXT控件,并填写以下代码 Private Sub Form_Load() Text1.LinkTopic = \"dmdde|data\" Text1.LinkItem = \"fix.ai.f_cv\" Text1.LinkMode = 1 End Sub 运行这个程序。
2、用ODBC将FIX数据写入ACCESS中 我的不骤为:
一、在c:\\Access目录下建一ACCESS数据库(fix.mdb),包含三个表SQLLIB,SQLCMD,和自定义的数据表DA TA
三个表的字段如下: 1)SQLLIB的字段如下: 1,sqlname:text(20) 2,sqlcmd: text(100) 2)SQLCMD的字段如下: 1,td:datatime 2, node: text(8) 3, tag: text(30) 4, sqlname: text(8)
5, fix_err: text(100) 6, sql_err: text(250) 7, prog_err:text(50) 3)DATA的字段如下: 1,tag: text(20) 2,des: text(20) 3,val: text(20)
在SQLCMD中输入一个记录: sqlname=\"INST1\"
sqlcmd=\"INSERT INTO DA TA(TAG,DES,V AL) V ALUES(?,?,?);\" 数据库建好后,在控制面板的ODBC中定义[系统DSN]为TEST 二、在FIX的SCU中定义ODBC(我用的是fix32(老版本6.10)演示版)
1)在SCU的TASK添加WSQLODC.EXE (我用的是fix32(老版本6.10)演示版无该文件,
朋友给我一个6.15的,运行时一个错误提示(Error opening TOV file:sqlerr)但能运行)
2)在SCU的SQL的SQL longin Information 中设置: 1.Database Type: Access
http://www..com/doc/8c11262451.html,er Name: (没有添内容空白)
3.Password: (没有添内容空白) 4.Database Identifier: test
3)在SCU的SQL的SQL Task configuration 中设置: 1.SQL Support: Enable
2.Backup Files Primary: c:\\Access ,Secondary: c:\\access 3.Relational Database中设置: 3.1 Database ID: test 3.2 SQL cmd table: SQLLIB 3.3 Error Log Table: SQLERR 4.Error msg to screen: checked
5.Debug msg to Screen: checked 当然要保存了
三、运行DBB.exe,在FIX的数据库里定义SQT1与SQD1 1.设置SQT1:
1.1 Tag Name: SQT1 Next Block:SQD1
1.2 Date Filters Start Date: ALL End Date:NONE
1.3 SAC Parameters: Initial Mode: Manual , Start Block On Scan:checked
Scan Time:1
1.4 Time Events:(没有添内容空白) End Time:(没有添内容空白) Event Period:00:00:05
1.5 Block Events: Event Tag:(没有添内容空白) Confirm Tag:(没有添内容空白)
1.6 Event Type: Change of value SQL Trigger Block(page2)中配置如下: 1.7 SQL Name: INST1 1.8 Database ID: test 1.9 Command Type:SQL cmd 1.10 Select Parameters: Single row 2)设置SQD1
2.1 Tag Name: SQD1 Next Block: (没有添内容,空白) 2.1 Security Areas: NONE Alarm Areas: All 3.1 Tag.field Drirction Reset to: 1>AX.A_TAG OUT NONE 2>AX.A_DESC OUT NONE 3>AX.A_CV OUT NONE AX 是我随意定义的一个TAG 四、在Draw中设置
1。放一命令按钮[start],Edit command 如下: DECLARE #MY_NUM STRING
#MY_NUM =\"AUTO\"
SETV AL FIX:SQT1.A_AUTO #MY_NUM 我让它去触发SQT1
2。放一命令按钮[stop],Edit command 如下: DECLARE #MY_NUM STRING #MY_NUM =\"MANL\"
SETV AL FIX:SQT1.A_AUTO #MY_NUM 我让它停止SQT1 问题是:
1。执行后fix数据库什么记录也没有,也没发现有错误(我不知道怎样调试)
iFIX(3.0也是演示版)我也试了结果一样,请各位大师帮忙 2。向access数据库定时写数据,用命令按钮[start]合适吗?,有好办法吗?
五、我用dde的步骤如下:
1.用fix32(老版本)的dde做server(运行DMDDE.exe) 2.用vb做客户端,结点名为:fix vb
的
text
控件设置为:linktopic=\"DWDDE|DA
TA\
问题是:
为什么连接后出现\"?E2302\" 后变为\"?E1914\请各位大师帮忙 3、ifix3.0中演示系统中用到的user类下面的成员函数strcurpic怎么调到我们瑶做的工程里面
在画面中定义
Private Sub CFixPicture_Initialize()
user.strLastPIC.CurrentValue = user.strCURPIC.CurrentValue user.strCURPIC.CurrentValue http://www..com/doc/8c11262451.html,
End Sub
在另一画面中使用
=
replacepicture \"趋势\
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务