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"];//获取结果某行某列值
} 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); } } }
另利用traceViewer工具可查看报警输出及方法 HMIRuntime.Trace("Errors state : "+detailed.State)内容,便于调试,其路径为:%ProgramFiles%\Siemens\Automation\WinCCUnified\bin\RTILtraceViewer.exe