Xml, БД, внешнее приложение

Стартовая страница Форумы Понять, как работает ПО Xml, БД, внешнее приложение

Просмотр 9 сообщений - с 31 по 39 (из 39 всего)
  • Автор
    Сообщения
  • #20206
    a80808
    Участник

    Здесь я не про вызов, здесь я про запуск приложения как службы…
    А вызов приложеня…например по сасикам или кнопке вызыватть какой то спец фичный опросчик устройства, либо через стороннее приложение данные передать…почту отправить, SSMS..да мало ли…

    #20207
    a80808
    Участник

    Да те же GET/POST на произвольный сайт…

    #20213
    vg
    Участник

    Имел ввиду, что интеграция должна осуществляться через сетевые протоколы или базы данных. Для чего нужен непосредственный вызов стороннего приложения?

    В моём случае для формирования отчётов, которые нужны заказчику в формате Word/Excel, которые нельзя сделать штатными средствами. Или, например, если SCADA-система является частью поставляемой системы и нужен запуск некоторого компонента, являющегося самостоятельным приложением, по расписанию или по команде управления.

    #20217
    Mikhail
    Модератор

    Если Вы сами пишете программу для формирования нестандартных отчётов, сделайте её как службу с поддержкой TCP сокета, чтобы она принимала команды на формирование отчётов от Rapid SCADA по TCP.

    #20932
    vg
    Участник

    Если Вы сами пишете программу для формирования нестандартных отчётов, сделайте её как службу с поддержкой TCP сокета, чтобы она принимала команды на формирование отчётов от Rapid SCADA по TCP.

    Всё таки возникающие сложности при эксплуатации системы заставили меня с Вами согласиться 🙂 и, видимо, служба это хорошее решение. А как в таком случае отдавать команду в эту службу по TCP? Насколько я понимаю, мне нужно установить мою службу(приложение) на определённом порту. В этой службе мне нужно создать регистр для приёма значений? Если так, то тогда можно по Modbus TCP передать значение в этот регистр. И ещё вопрос: если у сервера изменится IP-адрес, то в этом случае, если я правильно понимаю, нужно будет в экземпляре Rapid Scada менять настройки линии связи и КП, что не очень то удобно.
    К тому же, если мне удастся реализовать приложение в виде службы, то можно будет отказаться от ScadaServerMono и пользоваться обычной службой севера Rapid Scada. Одни, блин, плюсы. Точно надо так делать.

    • Этот ответ был изменен 2 года, 6 месяцев назад от vg.
    • Этот ответ был изменен 2 года, 6 месяцев назад от vg.
    #20940
    Mikhail
    Модератор

    В общем случае Ваша служба открывает заданный в настройках или в константах TCP-порт, и готова к приёму команд. Но не хотелось бы реализовывать разбор команд и передачу ответа побайтно, как это сделано в SCADA-Сервере — это лишняя сложность.

    Есть готовые средства. Рекомендую посмотреть SignalR и gRPC. Выберите наиболее простой вариант.

    #20941
    Mikhail
    Модератор

    Кто или что будет подавать команды Вашей службе?

    #20942
    Mikhail
    Модератор

    Ещё вариант — использовать MQTT-брокер для обмена данными. Одно приложение публикует некоторую информацию на брокер. Другое приложение её забирает. Аналогично SignalR.

    #20946
    Mikhail
    Модератор

    Если реализовывать обмен по TCP на низком уровне, то за основу можно взять исходники ScadaAgent.

    • Этот ответ был изменен 2 года, 5 месяцев назад от Mikhail.
Просмотр 9 сообщений - с 31 по 39 (из 39 всего)
  • Вы должны авторизироваться для ответа в этой теме.