¿Cómo en codesys llama un “comando” para módem gsm? No standart send_sms y etc.

Tengo un gsmmodem y plc, plc ve un módem (uso un * .lib y el bloque funcional “openPort”), pero no entiendo cómo escribir en módem un “comando”, por ejemplo, “ate0” .

Primero, para boost su comprensión de los comandos AT en general, lea la especificación V. 250 . Eso te ayudará a convertirte en un experto en comandos AT.

Luego, para la implementación real, no conozco los códigos, por lo que el siguiente es un pseudo código de la estructura que debería tener para manejar los comandos AT:

the_modem = openPort(); ... // start sending ATE0 writePort(the_modem, "ATE0\r"); do { line = readLinePort(the_modem); } while (! is_final_result_code(line)) // Sending of ATE0 command finished (successfully or not) ... closePort(the_modem); 

Hagas lo que hagas, nunca, nunca uses delay , sleep o similar como sustituto de esperar el código de resultado final. Puede ver el código de un ejemplo para la función is_final_result_code (también puede comparar isFinalResponseError y isFinalResponseSuccess en U300 RIL de ST-Ericsson , aunque tenga en cuenta que CONNECT no es un código de resultado final, es un código de resultado intermedio, por lo que el nombre esFinalResponseSuccess no es 100% correcto).