[ New messages · Members · Forum rules · Search · RSS ]
Page 1 of 11
Forum moderator: Alexor 
Forum » Process Simulator » Russian » Double записать в Int16
Double записать в Int16
denzhigDate: Monday, 02.06.2014, 15:54 | Message # 1
Sergeant
Group: Users
Messages: 32
Reputation: 0
Status: Offline
Вечер добрый.
Уже всю голову сломал: как переменную типа double записать в порт контроллера (word) у переменной которого тип Int16 ?
кусок кода ниже
Code
double OutvNew=(OutvNew+100.0)*138.24;
'SS.GZ_NA_pos'=Convert.ToInt16(Math.Round(OutvNew));
Выдаёт ошибку "No access".

Собственно почему такой геморой вышел - указал у переменной порта включенный конвертер на закладке и выбрал Scale. Думал как и в случае выходного порта (преобразование 0-27648 в [-100 ... +100]) он обратно преобразует расчётную величину (double) из [-100.0 ... +100.0] в 0-27648.
Но что-то не срослось... и конвертор выключает...


Message edited by denzhig - Monday, 02.06.2014, 16:00
 
AlexorDate: Monday, 02.06.2014, 21:35 | Message # 2
Major general
Group: Administrators
Messages: 275
Reputation: 1
Status: Offline
Добрый вечер,

Вы всё правильно делаете. Это я сломал, добавляя массивы.
Версия 2.0.5266 исправленная.
Отпишитесь, когда попробуете, пожалуйста. Нахожусь на ПНР, времени на тестирование не очень много.
Если что-то не так, присылайте логи программы.
 
denzhigDate: Thursday, 12.06.2014, 11:45 | Message # 3
Sergeant
Group: Users
Messages: 32
Reputation: 0
Status: Offline
День добрый.

Извиняюсь что так долго - сам щас нахожусь на наладке.
Проверил - вроде всё работает, спасибо.
 
Forum » Process Simulator » Russian » Double записать в Int16
Page 1 of 11
Search: