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配置站点,创建变量,创建画面
- 创建变量
- 创建画面