Boa tarde, a todos! Fiz alguns testes com ScadaBR, mas não tive bom resultado, ocorreu como segue:
No data Source ocoreu essas notificações:
15:03:53: 'MR': MR: No group 1 |
15:03:25: 'MR': MR: Sem dados disponíveis ! |
15:01:01: 'MR': MR: Sem dados disponíveis |
Testei o REGEX no "EditPad PRO7" indicado no site:
http://www.regular-expressions.info/tutorial.html , no editor funciona bem.
As duvidas que tenho são:
1- O REGEX tem que capturar toda a string pra validar?
Ex: ABCDabcd1234qwert<RSA1:1>qwertABDC....
2- No REGEX indico a parte da string que muda de valor o ScadaBR usa essa parte para atribuir valor ao data point?
3- Como descrever caracteres não "printaveis"?
Ex: \r, x0d, 13 \cr ....
JSON do Data Source:
{
"dataSources":[
{
"xid":"DS_881368",
"type":"ASCII_SERIAL",
"alarmLevels":{
"DATA_SOURCE_EXCEPTION":"URGENT",
"POINT_READ_EXCEPTION":"URGENT"
},
"updatePeriodType":"SECONDS",
"baudRate":9600,
"bufferSize":256,
"charStopMode":0,
"charX":"",
"commPortId":"COM6",
"dataBits":8,
"enabled":true,
"hexValue":"0x0d",
"initString":null,
"nChar":8,
"name":"MR",
"parity":0,
"quantize":false,
"retries":1,
"stopBits":1,
"stopMode":0,
"stopTimeout":1000,
"timeout":300,
"updatePeriods":4
}
],
"dataPoints":[
{
"xid":"DP_337460",
"loggingType":"ON_CHANGE",
"intervalLoggingPeriodType":"MINUTES",
"intervalLoggingType":"INSTANT",
"purgeType":"YEARS",
"pointLocator":{
"command":"RSASTAT1",
"customTimestamp":false,
"dataType":1,
"settable":false,
"timestampFormat":"",
"timestampRegex":"",
"valueRegex":"<RSA1:\\b[0-1]\\b>"
},
"eventDetectors":[
],
"engineeringUnits":"",
"chartColour":null,
"chartRenderer":null,
"dataSourceXid":"DS_881368",
"defaultCacheSize":1,
"deviceName":"MR",
"discardExtremeValues":false,
"discardHighLimit":1.7976931348623157E308,
"discardLowLimit":-1.7976931348623157E308,
"enabled":true,
"intervalLoggingPeriod":15,
"name":"Lampada",
"purgePeriod":1,
"textRenderer":{
"type":"PLAIN",
"suffix":""
},
"tolerance":0.0
}
]
}