技术论坛

TIA V16 WINCC unified 连接SQL

作者 主题
新手

经验值: 31
发帖数: 2
精华帖: 0
主题:【分享】TIA V16 WINCC unified 连接SQL
推荐帖


只看楼主 楼主 2020-01-05 22:37:17

     unified是工业人机交互平台的发展趋势,通过web severs布置可使交互界面基于浏览器访问,其便捷性毋庸置疑。但unified所需脚本JavaScript目前网上基本无参考资料,西门子官方文档也未详细说明,甚至有些对象无法在脚本中使用。因此有此文分享给各位,作者能力有限,不足之处,还请包涵。

    以下脚本为查询Sql中某行中,某列值:

var barCode,request,targetValue,writeDone,writeDoneACK,flag
barCode=Tags("barCode1").Read();
request=Tags("request1").Read();
targetValue=Tags("targetValue1").Read();
writeDone=Tags("writeDone1").Read();
writeDoneACK=Tags("writeDoneACK1").Read();
flag=Tags("flag[0]").Read()

//通过状态机一次触发
if (request & ! flag )
{
//使用异常抛出
 try{
//connectionstring定义未全局变量,方便修改var connectionstring = "Driver={sql server};server=SINOMACH\DEMO;database=ZhongHua;uid=sa;pwd=123456;" ;

  let conn = await HMIRuntime.Database.CreateConnection(connectionstring);
//查询语句
  let query = "Select top 1 * from  [ZhongHua].[dbo].[productData] where barCode='"+barCode+"'";
  let results = await conn.Execute(query);//执行查询
   if(results !== undefined && results !== null)//判断是否查询到
  {
    let statements = results.Results;//查询结果
    for(let statement in statements)//遍历结果表单
    {
      let rows = statements[statement].Rows;
      let row = rows[0];//获取其中一行
      targetValue=row["targetValue"];//获取结果某行某列值
     
     
      HMIRuntime.Trace("targetValue:"+targetValue);
      writeDone=true;

    }
  }else
  {
targetValue=0.0;
writeDone=false;

  }
  conn.Close();
}
catch(e)
{
  let res = e.Results;
  for(let statement in res)
  {
    let errors = res[statement].Errors;
    for (let i in errors)
      {
        let detailed = errors[i];
        HMIRuntime.Trace("Errors state : "+detailed.State);
        HMIRuntime.Trace("Errors Message : "+detailed.Message);
      }
    }
  }

} else {
//statements
}
flag=request;//状态机

if(writeDoneACK){

targetValue=0.0;
writeDone=false;

}


Tags("targetValue1").Write(targetValue);
Tags("writeDone1").Write(writeDone);

Tags("flag[0]").Write(flag)



脚本调试器配置方法参见帮助文档中下图位置,需启用SIMATIC Runtime Manager中script debugger setting中调试端口9222

调试脚本步骤:

1,浏览界面,打开脚本所在窗口,地址为https://localhost(计划任务触发脚本未找到调试方法)。


2.打开调试页面,地址http://localhost:9222,(每切换画面都要刷新到此地址一次),第一项为动态画面调试,第二项为事件调试,选择第二项

 

3.弹出调试工具,在控制区暂停脚本运行


4.切至界面触发脚本,在调试界面所触发脚本暂停,方可单步调试,调试中可看到脚本内是否存在错误。


另利用traceViewer工具可查看报警输出及方法 HMIRuntime.Trace("Errors state : "+detailed.State)内容,便于调试,其路径为:%ProgramFiles%\Siemens\Automation\WinCCUnified\bin\RTILtraceViewer.exe



 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1602512&b_id=5&s_id=0&num=14

侠圣

经验值: 2865
发帖数: 367
精华帖: 3
回复:TIA V16 WINCC unified 连接SQL
推荐帖


只看楼主 1楼 2020-01-06 08:46:52

要给楼主点赞。互联网技术最好了,包括JavaScript,网上一堆资料


 
以下网友喜欢您的帖子:

  
新手

经验值: 31
发帖数: 2
精华帖: 0
回复:TIA V16 WINCC unified 连接SQL


只看楼主 楼主 2楼 2020-01-06 18:15:16
unified的Javas cript跟谷歌的不通用,很多对象不支持
 
以下网友喜欢您的帖子:

  
至圣

经验值: 18884
发帖数: 2107
精华帖: 0
回复:TIA V16 WINCC unified 连接SQL


只看楼主 3楼 2020-01-07 11:23:29


第一次见,好好学学


 
以下网友喜欢您的帖子:

  
至圣

经验值: 18401
发帖数: 2409
精华帖: 1
回复:TIA V16 WINCC unified 连接SQL


只看楼主 4楼 2020-01-07 12:08:52


感谢楼主分享


 
以下网友喜欢您的帖子:

  
Mr_
侠客

经验值: 627
发帖数: 95
精华帖: 0
回复:TIA V16 WINCC unified 连接SQL


只看楼主 5楼 2020-01-09 08:49:09

脚本高大上啊


学习是一种信仰
以下网友喜欢您的帖子:

  
侠圣

经验值: 2381
发帖数: 147
精华帖: 0
回复:TIA V16 WINCC unified 连接SQL


只看楼主 6楼 2020-01-09 10:31:21

太高大上了,需要好好学习学习。


妖姬动力
以下网友喜欢您的帖子:

  
奇侠

经验值: 9046
发帖数: 375
精华帖: 0
回复:TIA V16 WINCC unified 连接SQL


只看楼主 7楼 2020-01-13 08:11:41


收藏了,谢谢分享!


随心所欲
以下网友喜欢您的帖子:

  
游士

经验值: 267
发帖数: 65
精华帖: 0
回复:TIA V16 WINCC unified 连接SQL


只看楼主 8楼 2020-01-13 16:28:58


感谢楼主的分享!


 
以下网友喜欢您的帖子:

  
新手

经验值: 3
发帖数: 1
精华帖: 0
回复:TIA V16 WINCC unified 连接SQL


只看楼主 9楼 2020-04-21 20:47:56
你好 我想问一下v16安装包自带的wincc勾选不上怎么解决
 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2051
发帖数: 166
精华帖: 0
回复:TIA V16 WINCC unified 连接SQL


只看楼主 10楼 2020-05-08 08:44:48

感谢分享!!!


 
以下网友喜欢您的帖子:

  
游士

经验值: 225
发帖数: 16
精华帖: 0
回复:TIA V16 WINCC unified 连接SQL


只看楼主 11楼 2020-10-16 11:51:01


感谢分享,值得学习!


 
以下网友喜欢您的帖子:

  
游民

经验值: 86
发帖数: 12
精华帖: 0
回复:TIA V16 WINCC unified 连接SQL


只看楼主 12楼 2020-12-05 16:30:04

楼主,你成功连上了数据库了吗?我也是这样去链接SQL server,但是到了连接那步就出问题了,用traceviewer,出来的信息没什么用





 
以下网友喜欢您的帖子:

  
至圣

经验值: 18067
发帖数: 1524
精华帖: 2
回复:TIA V16 WINCC unified 连接SQL


只看楼主 13楼 2021-01-04 08:31:10

好的经验需要好好的分享,感谢楼主。


我回来了!继续努力!
以下网友喜欢您的帖子:

  
至圣

经验值: 37446
发帖数: 5133
精华帖: 47
回复:TIA V16 WINCC unified 连接SQL


只看楼主 14楼 2021-01-04 09:12:50

 感谢楼主的经验分享!


工业起重机防摇摆 QQ:404136820 AntiSwayControl
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
TIA V16 WINCC unified 连接SQL
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。