Ответы в темах
-
АвторЗаписи
-
astahovsv
УчастникПроверил, теперь работает корректно! Спасибо!
astahovsv
УчастникВернулся к работе после длительной заморозки этой деятельности на заводе.
Вот что я получаю в логах когда удаляю ошибку на 3-ем этапе:
2025-03-05 11:22:16 Error handling the received message. Topic: /devices/dev-z7sa/controls/k8a3/meta/error: System.InvalidOperationException: The underlying array is null. at Scada.Comm.Drivers.DrvCnlMqtt.Logic.MqttClientChannelLogic.MqttClient_ApplicationMessageReceived(MqttApplicationMessageReceivedEventArgs e)astahovsv
УчастникНастройка моего архива на сервере:

Настройка его в базе конфигураций:

Настройка маски в канале:

astahovsv
УчастникДля тестирования я создал виртуальное устройство на WB, которое у другого виртуального устройства устанавливало или удаляло флаг ошибки.
defineVirtualDevice('test-device', { title: "test-device", cells: { enableError: { title: "Enable Error", type: "switch", value: false, }, } }); defineRule('test-device:m52i', { whenChanged: 'test-device/enableError', then: function (newValue) { if (newValue) { dev['dev-z7sa/k8a3#error'] = 'r'; } else { dev['dev-z7sa/k8a3#error'] = ''; } } });Дополнительно проверял значение ч/з mosquitto_sub
mosquitto_sub -v -t "/devices/dev-z7sa/controls/k8a3/meta/error"Для преобразования строки в число на коммутаторе используется скрипт:
if (payload) { if (payload === 'r') { setValue(0, 1); // read error } else if (payload === 'w') { setValue(0, 2); // write error } else if (payload === 'p') { setValue(0, 3); // read period miss } else { setValue(0, 4); // unknown error } } else { setValue(0, 0); // no error }Этап 1-ый, нет ошибок:

Этап 2-ой, ошибка установлена:
/devices/dev-z7sa/controls/k8a3/meta/error r

Этап 3-ий, ошибка удалена:
/devices/dev-z7sa/controls/k8a3/meta/error (null)

Этап 4-ый, перезагрузка scadacomm6.service

astahovsv
УчастникЯ тоже так подумал, что может мне таблица что-то не то показывает, поэтому проверял сам файл DAT — он не изменялся, когда я обновлял значения в канале.
astahovsv
УчастникВсе вроде так и сделал, если маски нет — то записи сохраняются в архивах по умолчанию, как только в маске указываю свой архив — ничего не сохраняется.
Решил создать новый архив на основе стандартного, минутного.
Подключил его, записи начали появляться, ну хорошо значит я подключаю правильно.
Теперь зашел в настройки архива и убрал галочку «Записывать периодически» — перестало что-то записываться в архив.Я что-то не так делаю?
Есть методы для ручной записи данных в архив?astahovsv
УчастникНе удалось мне добиться того чтобы как-то сохранялись расчетные каналы (не привязанные ни к чему).
В итоге создал на WB контроллере отдельные топики, привязал их к скаде.
Создал свой архив.

Выбрал этот архив в моих каналах.
Создал для каналов элементы на панели, правлю их там — все корректно отрабатывается, видно изменения на контроллере. Но нет никаких данных на графиках, предполагаю что ничего не записывается в мой архив.
Как его правильно настроить? Как настроить запись по изменению?-
Ответ изменён 1 год, 8 месяцев назад пользователем
astahovsv.
astahovsv
УчастникБольшинство данных будет регистрироваться с устройств. В основном это датчики температуры и частотники. Операторы должны вводить в систему качество получаемой продукции.
astahovsv
УчастникТакое ощущение что коммуникатор не обрабатывает пустые значения, если значение в /meta/error — есть, я его вижу в системе. Но стоит удалить значение из /meta/error — коммуникатор молчит, показывает старое значение.
astahovsv
УчастникПытаюсь работать на linux, установил скаду, сервер и админинка работает.
При клике на схему (.sch) окно редактора не открывается.
Взял редактор с Windows версии, добавил в директорию.
Пытаюсь запустить с помощью команды:
$ wine /opt/scada/ScadaSchemeEditor/ScadaSchemeEditor.exe
Получаю ошибку: «Не удалось запустить Редактор схем.»
В логах такое сообщение:
»
———————————————————————————
2024-11-24 17:26:17 <SERVER><user><ACT> Инициализация общих данных Редактора схем
2024-11-24 17:26:17 <SERVER><user><ACT> Загрузка компонентов из файлов
2024-11-24 17:26:17 <SERVER><user><ACT> Загружены компоненты из файла Z:\opt\scada\ScadaSchemeEditor\Web\bin\PlgSchBasicComp.dll
2024-11-24 17:26:17 <SERVER><user><EXC> Ошибка при запуске WCF-службы:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.TypeInitializationException: The type initializer for ‘System.ServiceModel.Configuration.WebScriptEnablingElement’ threw an exception. —> System.ArgumentException: String_null_or_empty
Parameter name: name
at System.Configuration.ConfigurationProperty.ValidatePropertyName (System.String name) [0x00012] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.Configuration.ConfigurationProperty.ConstructorInit (System.String name, System.Type type, System.Configuration.ConfigurationPropertyOptions options, System.Configuration.ConfigurationValidatorBase validator, System.ComponentModel.TypeConverter converter) [0x00049] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.Configuration.ConfigurationProperty..ctor (System.String name, System.Type type, System.Object defaultValue, System.ComponentModel.TypeConverter typeConverter, System.Configuration.ConfigurationValidatorBase validator, System.Configuration.ConfigurationPropertyOptions options, System.String description) [0x00006] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.Configuration.ConfigurationProperty..ctor (System.String name, System.Type type, System.Object defaultValue, System.ComponentModel.TypeConverter typeConverter, System.Configuration.ConfigurationValidatorBase validator, System.Configuration.ConfigurationPropertyOptions options) [0x00000] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.ServiceModel.Configuration.WebScriptEnablingElement..cctor () [0x0001f] in <f0637091e8e5493aab57c2f06eceb159>:0
— End of inner exception stack trace —
at (wrapper managed-to-native) System.Reflection.RuntimeConstructorInfo.InternalInvoke(System.Reflection.RuntimeConstructorInfo,object,object[],System.Exception&)
at System.Reflection.RuntimeConstructorInfo.InternalInvoke (System.Object obj, System.Object[] parameters, System.Boolean wrapExceptions) [0x00005] in <0c09cdbdbe9f4470a58088ff9d75086e>:0
— End of inner exception stack trace —
at System.Reflection.RuntimeConstructorInfo.InternalInvoke (System.Object obj, System.Object[] parameters, System.Boolean wrapExceptions) [0x0001a] in <0c09cdbdbe9f4470a58088ff9d75086e>:0
at System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic, System.Boolean wrapExceptions) [0x00095] in <0c09cdbdbe9f4470a58088ff9d75086e>:0
at System.RuntimeType.CreateInstanceSlow (System.Boolean publicOnly, System.Boolean wrapExceptions, System.Boolean skipCheckThis, System.Boolean fillCache) [0x00009] in <0c09cdbdbe9f4470a58088ff9d75086e>:0
at System.RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Boolean wrapExceptions, System.Threading.StackCrawlMark& stackMark) [0x00027] in <0c09cdbdbe9f4470a58088ff9d75086e>:0
at System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic, System.Boolean wrapExceptions) [0x00020] in <0c09cdbdbe9f4470a58088ff9d75086e>:0
at System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic) [0x00000] in <0c09cdbdbe9f4470a58088ff9d75086e>:0
at System.Activator.CreateInstance (System.Type type) [0x00000] in <0c09cdbdbe9f4470a58088ff9d75086e>:0
at System.ServiceModel.Configuration.EndpointBehaviorElement.DeserializeExtensionElement (System.String elementName, System.Xml.XmlReader reader) [0x00038] in <5344fae4b88b45e69d9130b929ee8213>:0
at System.ServiceModel.Configuration.ServiceModelExtensionCollectionElement`1[TServiceModelExtensionElement].OnDeserializeUnrecognizedElement (System.String elementName, System.Xml.XmlReader reader) [0x00000] in <5344fae4b88b45e69d9130b929ee8213>:0
at System.Configuration.ConfigurationElement.DeserializeElement (System.Xml.XmlReader reader, System.Boolean serializeCollectionKey) [0x002a3] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.ServiceModel.Configuration.ServiceModelExtensionCollectionElement`1[TServiceModelExtensionElement].DeserializeElement (System.Xml.XmlReader reader, System.Boolean serializeCollectionKey) [0x00000] in <5344fae4b88b45e69d9130b929ee8213>:0
at System.Configuration.ConfigurationElementCollection.OnDeserializeUnrecognizedElement (System.String elementName, System.Xml.XmlReader reader) [0x0002c] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.Configuration.ConfigurationElement.DeserializeElement (System.Xml.XmlReader reader, System.Boolean serializeCollectionKey) [0x002a3] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.Configuration.ConfigurationElement.DeserializeElement (System.Xml.XmlReader reader, System.Boolean serializeCollectionKey) [0x00340] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.Configuration.ConfigurationSection.DoDeserializeSection (System.Xml.XmlReader reader) [0x000b6] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.Configuration.ConfigurationSection.DeserializeSection (System.Xml.XmlReader reader) [0x00000] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.Configuration.Configuration.GetSectionInstance (System.Configuration.SectionInfo config, System.Boolean createDefaultInstance) [0x000c6] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.Configuration.ConfigurationSectionCollection.get_Item (System.String name) [0x0002c] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.Configuration.Configuration.GetSection (System.String sectionName) [0x00059] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection (System.String configKey) [0x00006] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.Configuration.ConfigurationManager.GetSection (System.String sectionName) [0x00005] in <9facab6158204957b90ffbbd4e46c59f>:0
at System.ServiceModel.Configuration.ConfigUtil.GetSection (System.String name) [0x0000e] in <5344fae4b88b45e69d9130b929ee8213>:0
at System.ServiceModel.Configuration.ConfigUtil.get_BehaviorsSection () [0x00000] in <5344fae4b88b45e69d9130b929ee8213>:0
at System.ServiceModel.ServiceHostBase.AddServiceBehaviors (System.String configurationName, System.Boolean throwIfNotFound) [0x00004] in <5344fae4b88b45e69d9130b929ee8213>:0
at System.ServiceModel.ServiceHostBase.ApplyServiceElement (System.ServiceModel.Configuration.ServiceElement service) [0x00052] in <5344fae4b88b45e69d9130b929ee8213>:0
at System.ServiceModel.ServiceHostBase.LoadConfigurationSection (System.ServiceModel.Configuration.ServiceElement serviceSection) [0x00000] in <5344fae4b88b45e69d9130b929ee8213>:0
at System.ServiceModel.ServiceHostBase.ApplyConfiguration () [0x0001d] in <5344fae4b88b45e69d9130b929ee8213>:0
at System.ServiceModel.ServiceHostBase.InitializeDescription (System.ServiceModel.UriSchemeKeyedCollection baseAddresses) [0x0001c] in <5344fae4b88b45e69d9130b929ee8213>:0
at System.ServiceModel.ServiceHost.InitializeDescription (System.Type serviceType, System.ServiceModel.UriSchemeKeyedCollection baseAddresses) [0x0001a] in <5344fae4b88b45e69d9130b929ee8213>:0
at System.ServiceModel.ServiceHost..ctor (System.Type serviceType, System.Uri[] baseAddresses) [0x0000e] in <5344fae4b88b45e69d9130b929ee8213>:0
at Scada.Scheme.Editor.AppData.StartWcfService (System.String& serviceUrl) [0x00010] in <5ff57b607b82473199e199a4d44f9a6f>:0
»
Что нужно для запуска приложения? -
Ответ изменён 1 год, 8 месяцев назад пользователем
-
АвторЗаписи