Есть ли способ распечатать вывод на консоль, например debug.print() в VB.NET, используя структурированный текст? (близнец3)
Есть ли способ печатать на консоль вывода? (близнец3)
Ответы (1)
Вы можете отправлять сообщения через команды ADS из кода TwinCAT. Функция называется ADSLOGSTR а>. Существуют также собственные функции для DINT и REAL, но функцию STRING, конечно, можно использовать с чем угодно.
Функция имеет три входа:
- msgCtrlMask
- Mask that describes the message type
- Типы можно найти здесь
- Например, чтобы отобразить предупреждающее сообщение и сохранить его в журнале Windows:
msgCtrlMask := ADSLOG_MSGTYPE_WARN OR ADSLOG_MSGTYPE_LOG
- Чтобы показать только окно сообщений Windows:
msgCtrlMask := ADSLOG_MSGTYPE_MSGBOX
- msgFmtStr
- The message to be shown as STRING
%s
можно использовать для добавления параметра без функций CONCAT. См. последний параметр.
- strArg
- A STRING that is replaces the
%s
in previous string.
- A STRING that is replaces the
Вот пример, вероятно, это то, что вам нужно:
IF test THEN
ADSLOGSTR(
msgCtrlMask := ADSLOG_MSGTYPE_HINT,
msgFmtStr := 'Test message. Parameter is %s',
strArg := 'ABC'
);
test := false;
END_IF
Когда вы установите для теста значение true и вызовете функцию, вы увидите это в списке ошибок Visual Studio. Обратите внимание, что он не записывается в консоль.
Я часто использую сообщения об ошибках (ADSLOG_MSGTYPE_ERROR
), потому что довольно часто прячу заметки и предупреждения и не замечаю свои собственные записи. Другой хороший способ — добавить запись в журнал Windows, если вы хотите записать что-то, чтобы увидеть его позже.
person
Quirzo
schedule
06.08.2018