KingSCADA项目过程问题归纳总结

数据库访问

记录体方式访问

创建ODBC数据源时,在Windows管理工具中打开的是ODBC数据源(32位)

KingSCADA中建立ODBC数据源-->表格模板,目的是定义数据库格式

记录体是用来存数据库中一条一条的数据,在创建时,字段名要和数据库的字段名保持一致,要一一对应

完成上述创建之后,需要在数据词典中创建一个内存整型变量作为数据库的连接号,变量名可以随意(deviceid)

与数据库建立连接的函数SQLConnect(数据库的连接号, "DSN=数据源名")、

数据集方式访问

关于在创建完数据链接属性(.udl文件)之后,打开缺少访问Access数据库的驱动。采用以下方法可补全驱动:

单击“开始--运行”
输入“C:\Windows\SysWOW64\cmd.exe”命令,显示出cmd命令框
拖入“.udl”文件即可,随即就会跳出运行框

链接Access数据库,提供程序选择 Microsoft Office 12.0 Access Database Engine OLE DB Provider 驱动

连接 1.输入数据源和数据位置(本地数据源只需输入数据库文件绝对路径)

   2.输入服务器登录信息(本地数据库选择空白密码)

   3.测试连接,成功即可,此时.udl文件内部已写入文本(用记事本打开可以看到)

使用报表图素和按钮创建的画面对数据查询时,按钮需要添加脚本,帮助文档提供的脚本中存在一定的语法错误。

1 string ConnectStr,SqlStr;
2 //ConnectStr的内容为.udl文件被写入文本的一部分
3 ConnectStr="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Administrator\Desktop\数据库连接测试.accdb;Persist Security Info=False";
4 SqlStr="select * from 表格";
5 KDBGetDataset("Dataset1", ConnectStr,SqlStr);
6 Report1.SetDataset1("Dataset1");

 数据集访问还可通过ODBC驱动,只需配置ODBC数据源,不需要创建.udl文件,使用KDBGetDataset(string DatasetName, string ConnectStr, string SqlStr)函数,ConnectStr赋值即可

1、ODBC数据驱动接口
● Access数据库
ConnectStr="DSN=sany;DATABASE=;uid=sa;pwd=sa";
● SqlServer数据库
ConnectStr="DSN=DB_SQL2005;DATABASE=TestDB;UID=sa;PWD=;";
● MySql数据库
ConnectStr="DSN=DB_MySQL5;SERVER=172.16.2.203;UID=root;PWD=root;DATABASE=TestDB;PORT=3306";
● Oracle数据库
ConnectStr="DSN=DB_Oracle9;UID=SYSTEM;PWD=MANAGER;DBQ=SQLDB_ESTDB;DBA=W;";
● 工业库
ConnectStr="DSN=SQL_KH;ServerAddress=127.0.0.1;ServerPort=5678;UID=sa;pwd=sa;NetworkTimeout=0;";

实际使用中要注意一点:使用KSP客户端远程访问,需要修改MySQL配置,使MySQL可以通过IP访问。

1.命令行进入mysql(假设root用户的密码也为root)
mysql –u root –p root

2.使用mysql数据库
use mysql;

3.赋予权限
grant all privileges on *.* to '用户名'@'%' identified by '密码';
其中*.*的意思是 所有库.所有表, 'root'@'%' identified by 'root'的前一个root是用户名,%是指所有访问ip,后一个root是指密码

4.刷新权限(在不重启的情况下生效)
flush privileges;
听说实际实现方式是将user和privilige表里的东西扔进内存

5.重启mysql服务(cmd要在管理员权限下)
net stop mysql
net start mysql

数据模拟输出

KingSCADA与modsim32进行TCP通信(KingSCADA接收modsim32输出的模拟量)

  • 设置modsim32进行TCP通信,寄存器随机生成数据

  • KingIOServer创建设备

  • KingIOServer创建变量(创建完成以后就可以启动IOServer采集器进行试验看是否有数据传入)

  • 网络配置

  • 打开KingSCADA配置站点,创建变量,创建画面

  • 创建变量

  • 创建画面

 

posted @ 2022-05-13 10:21  哈撒king  阅读(1344)  评论(0编辑  收藏  举报