PDA

Просмотр полной версии : КАК записать уставку в ТРМ 138



незарегистрированный
06.04.2007, 15:14
Вышлите пожалуйста коды на VB для записи из программы уставки (C.SP) на ТРМ 138.

Как её считать и записать в прибор.


Спасибо.


Алексей

Мощицкий Павел
06.04.2007, 19:33
Как её считать и записать в прибор.
Посылайте код, попробуем разобраться, где у Вас ошибка. Если Вы программируете для ПК, то лучше использовать внешнюю библиотеку WIN DLL. Её можно запросить по адресу pavel@owen.ru, сообщив название фирмы.

незарегистрированный
10.04.2007, 08:46
Использую Вашу OWEN_IO.DLL

Определение функций:
'Запись значения с плавающей точкой
Private Declare Function WriteStoredDotSng Lib "owen_io" _
(ByVal adr As Long, _
ByVal adr_type As Long, _
ByVal cmd As String, _
ByVal value As Single, _
ByVal Index As Integer) _
As Long

Вот такая комманда ничего не даёт:
Dim res As Long
Dim value As Single

res = WriteStoredDotSng(8, 0, "C.SP", 100, 0)
res = ReadStoredDotSng(8, 0, "C.SP", value, 0)
Print value


Пробовал и так :

Dim res As Long
Dim value As Single

res = WriteStoredDotS(8, 0, "C.SP", 100, 0)
res = ReadStoredDotS(8, 0, "C.SP", value, 0)
Print value

-----ничего!
Результат =0!


Подскажите, пожалуйста, что не так!

незарегистрированный
10.04.2007, 08:49
ООО "Астрахим"
г. Астрахань

Мощицкий Павел
10.04.2007, 20:25
Фирму сообщать не надо. :) Для дачи консультации её знать не обязательно.
Теперь по первому посту.
1. Какой прибор имеется в виду?
2. Мне не известно, какая у Вас версия библиотеки, поэтому лучше имя параметра писать с пробелом, т.к. точка не является значащей буквой: "C.SP ".

незарегистрированный
07.05.2007, 17:17
но комманда посылаемая мной в прибор верна?
уставка запишется?

Мощицкий Павел
07.05.2007, 20:00
незарегистрированный
уставка запишется?
не факт. для начала попробуйте записать конфигуратором трм138. если мне не изменяет память, с данным параметром были проблемы в прошивке P036. прибор старый, первый с сетевым интерфейсом Rs485.

незарегистрированный
10.05.2007, 18:51
Команда:

res4 = WriteStoredDotS(24, 0, "C.SP ", 170, -1)

записывает уставку! СКАДА Ваша её считывает! И показывает что уставка изменена!


Но моя программа после команды:

Dim res1 As Long
Dim value1 As Single
res1 = ReadStoredDotS(24, 0, "C.SP ", value1, -1)
Print res1 & "=read"
Print value1


Выдаёт ноль!!!

Затем Вашей скадой изменяю уставку на адресе 24. И вновь посылаю своей программой команду чтения уставки-- всё нормально показывает!

В чём дело?