Здравствуйте!
В новый проект добавил переменные из "MasterOPC Universal Modbus Server" OPC-UA. Вывел отображения переменных на экран. Запустил MasterOPC OPC-UA, проект Simple-Scada, Client-Scada. Всё работает без ошибок.
В этот же проект добавил скрипт, вызываемый по изменению переменной. Сама переменная не изменяется в этом скрипте. В OPC-UA эта переменная опрашивается раз в 100 мс. При запуске MasterOPC OPC-UA и Server Simple-Scada, Server Simple-Scada зависает. При остановке MasterOPC OPC-UA, Server Simple-Scada развисает.
Из Server_log:
[00000000ms]localhost:55007/MBUAServer/: T_U4220T2_PSS_wHeartBeat_Set. The OPC-UA subscription ID 2703213232 publishing has halted on the client session to endpoint URL "opc.tcp://localhost:55007/MBUAServer/" for approximate current duration of 24813 milliseconds. The current keep-alive count is 100, the current publishing interval is 100 milliseconds, and the probationary period was 5000 milliseconds.
[00000000ms]localhost:55007/MBUAServer/: W_A1_Charge_OffPlace_CmdOn. The OPC-UA subscription ID 2966792152 publishing has halted on the client session to endpoint URL "opc.tcp://localhost:55007/MBUAServer/" for approximate current duration of 14875 milliseconds. The current keep-alive count is 10, the current publishing interval is 500 milliseconds, and the probationary period was 5000 milliseconds.
[00000000ms]localhost:55007/MBUAServer/: An error specific to OPC-UA service occurred.
---- SERVICE RESULT ----
StatusCode: {BadNoCommunication} = 0x80310000 (2150694912)
Description: Server not responding to keep alive requests.
[00000000ms]localhost:55007/MBUAServer/: W_P1_STR1_MOTOR1_Frequency. An error specific to OPC-UA service occurred.
---- SERVICE RESULT ----
StatusCode: {BadNoCommunication} = 0x80310000 (2150694912)
Description: Server not responding to keep alive requests.
---- SERVICE RESULT ----
StatusCode: {BadSecureChannelClosed} = 0x80860000 (2156265472)
Description: BadSecureChannelClosed
AdditionalInfo: >>> BadSecureChannelClosed
--- в Opc.Ua.Bindings.TcpAsyncOperation`1.End(Int32 timeout)
--- в Opc.Ua.Bindings.TcpClientChannel.EndSendRequest(IAsyncResult result)
--- в Opc.Ua.Bindings.TcpTransportChannel.EndSendRequest(IAsyncResult result)
--- в Opc.Ua.SessionClient.EndPublish(IAsyncResult result, UInt32& subscriptionId, UInt32Collection& availableSequenceNumbers, Boolean& moreNotifications, NotificationMessage& notificationMessage, StatusCodeCollection& results, DiagnosticInfoCollection& diagnosticInfos)
--- в Opc.Ua.Client.Session.OnPublishComplete(IAsyncResult result)
-----
StatusCode: {BadSecureChannelClosed} = 0x80860000 (2156265472)
---- REMARKS ----
The server may have rejected the connection because it does not trust the client (e.g. certificate problem); check the diagnostics on the server side, if possible.
A possible cause of this error could also be that the OPC-UA server is not running, or that it has rejected the connection due to security reasons.
[00000000ms]localhost:55007/MBUAServer/: (no description available) = BadConnectionClosed.
В списке ошибок нет имени переменной с которой связан скрипт.
В скрипте нет ошибок по скольку этот же скрипт работает с другим OPC DA.