Вход

Просмотр полной версии : AC4. Считывание данных в C#.



Alex2023
07.02.2023, 10:27
Всем привет. Я - начинающий программист. Мне для одного задания надо считать данные температуры с трм138 через AC4 в мою программу на C#. У меня затык на этапе считывания байтов с com-порта.

На картинке фрагмент моего кода. Но com-порт почему то не читается. Пробовал с эмулятором, всё хорошо.

Подскажите, пожалуйста, что я делаю не так.
65742
P.S. Длина байтового массива выбрана случано.

Alex2023
07.02.2023, 14:50
просто так в открытый порт ни чего не придет, пока не "попросите" слейв это сделать

Вот, я это уже понял. Поэтому тут и написал, может кто-то подскажет как общаться с этим устройством?

capzap
07.02.2023, 15:06
очень много информации нужно знать чтоб подсказать
для начала https://docs.owen.ru/product/trm138/29/63465#topic-63465 прочтите документацию
задать прибору адрес можно и с лицевой панели
лучше выбрать протокол модбас, определится на каком кaнaле подключен датчик, для первого адреса информации будут как на скрине 65748
и примерно так сформируется понятие каков набор байт требуется отправить чтоб пришел ответ (https://ru.wikipedia.org/wiki/Modbus#%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80% D1%82%D0%BD%D1%8B%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D 1%86%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0 %BA%D0%BE%D0%BB%D0%B0_Modbus), что то вроде: [16,3,1,0,1,0,51,84](!!! последние два числа контрольная сумма CRC16 полином A001), правильно ли посчитано не уверен