Просмотр полной версии : Сетевые переменные
piligrim
01.07.2022, 12:55
Здравствуйте!
Подскажите пожалуйста как передать значение переменной с плавающей запятой по сети
от ПР200. В основном интересует как используются регистры "смещение десятичной точки",
т.к. регистры сетевых переменных в ПР200 имеют целочисленный тип INT (напр-р регистр 512)
Могу ли я использовать регистр к примеру 512 реле ПР200 для сетевой переменной с плавающей запятой?
Если нет, то как правильно это сделать? Спасибо!
OwenLogik при таком объявлении не ругается.
Могу ли я использовать регистр к примеру 512 реле ПР200 для сетевой переменной с плавающей запятой?
Если нет, то как правильно это сделать? Спасибо!
OwenLogik при таком объявлении не ругается.
Можете
61494
Или у вас в сети гуляет целочисленная переменная, которую на обоих концах нужно представить с запятой?
piligrim
01.07.2022, 15:16
ИПП120 должна прочитать регистр 512 - ПР200.
piligrim
01.07.2022, 15:17
ИПП120 должна прочитать регистр 512 - ПР200.
ИПП120 должна прочитать регистр 512 - ПР200.
piligrim
01.07.2022, 15:17
Передать куда?
ИПП120 должна прочитать регистр 512 - ПР200.
kondor3000
01.07.2022, 15:19
ИПП120 должна прочитать регистр 512 - ПР200.
Cкрин вам уже дали, адрес переменной с плавающей запятой будет 512, но займёт она 2 регистра 512 и 513.
Для экономии регистров, можно переменную умножить на 10 и конвертировать в INT, тогда передаёте целочисленную через 1 регистр 512, а в панели ставите 1 знак после запятой (либо конвертируете обратно и делите на 10 в других устройствах)
Например температура 23.5, при умножении и конвертации получаете 235, передаёте в панель одним регистром, в панели (с одним знаком после запятой) будет 23.5
piligrim
01.07.2022, 15:27
Можете
61494
Или у вас в сети гуляет целочисленная переменная, которую на обоих концах нужно представить с запятой?
Спасибо за ответ.
Но в карте адресов регистров для ПР200 адрес регистра 512 у ПР200 представлен типом INT
и даны адреса регистров для смещения плавающей точки. Хотелось бы узнать как это использовать при случае.
kondor3000
01.07.2022, 17:57
Спасибо за ответ.
Но в карте адресов регистров для ПР200 адрес регистра 512 у ПР200 представлен типом INT
и даны адреса регистров для смещения плавающей точки. Хотелось бы узнать как это использовать при случае.
Какую переменную вы назначите, такая и будет, читайте мой пост выше.
INT и WORD занимает 1 регистр или 16 бит, DWORD и REAL (FLOAT) два регистра (два WORD) или 32 бита. Учите типы и представление переменных .
Спасибо за ответ.
Но в карте адресов регистров для ПР200 адрес регистра 512 у ПР200 представлен типом INT
и даны адреса регистров для смещения плавающей точки. Хотелось бы узнать как это использовать при случае.
Т.е., у вас есть ПР200 с какой-то зашитой в него программой и вы хотите к нему подключить панель ИПП120, так? Что тогда за регистры для смещения плавающей точки?
piligrim
04.07.2022, 08:57
Т.е., у вас есть ПР200 с какой-то зашитой в него программой и вы хотите к нему подключить панель ИПП120, так? Что тогда за регистры для смещения плавающей точки?
Здравствуйте.
Да, именно так!
Во вложении, шаблон сетевого устройства. Регистры про которые идет речь dp1 - dp4
Здравствуйте.
Да, именно так!
Во вложении, шаблон сетевого устройства. Регистры про которые идет речь dp1 - dp4
1. регистры смещения точки dp1 - dp4 - это для аналоговых входов AI1_INT - AI4_INT, т.е. к 512 регистру не имеют значение.
2. а вы уверены, что именно этот шаблон используется в вашей программе?
piligrim
04.07.2022, 10:46
1. регистры смещения точки dp1 - dp4 - это для аналоговых входов AI1_INT - AI4_INT, т.е. к 512 регистру не имеют значение.
2. а вы уверены, что именно этот шаблон используется в вашей программе?
Спасибо за разъяснение.
Я использую именно ПР200 и ИПП120 в проекте.
И наверное это единственный шаблон адресов регистров для ПР200.:confused:
Скачан с онлайн базы шаблонов именно для этого устройства.
Или есть еще какое то ПР200 о котором я не знаю?:(
Спасибо за разъяснение.
Я использую именно ПР200 и ИПП120 в проекте.
И наверное это единственный шаблон адресов регистров для ПР200.:confused:
Скачан с онлайн базы шаблонов именно для этого устройства.
Или есть еще какое то ПР200 о котором я не знаю?:(
Если у вас есть доступ к коду программы, вы можете сами нарисовать какую угодно карту регистров для ПР-ки, например сделать регистр 512 не для int а для float (будет занимать тогда 512 и 513 регистры)
kondor3000
04.07.2022, 15:19
Спасибо за разъяснение.
Я использую именно ПР200 и ИПП120 в проекте.
И наверное это единственный шаблон адресов регистров для ПР200.:confused:
Скачан с онлайн базы шаблонов именно для этого устройства.
Или есть еще какое то ПР200 о котором я не знаю?:(
Не забивайте себе голову и не морочте голову людям. Нафига вам этот шаблон? Это и не шаблон вовсе, а карта регистров доступных пользователю ПР.
Если вы пишите программу, то и назначайте сами регистры. Все уже написано выше. Для обмена используются регистры с 512 до 575 (всего 64 шт.), если ПР слейв.
И прочитайте внимательно, что написал, про уменьшение кол-ва используемых регистров.
piligrim
07.07.2022, 08:42
Здравствуйте.
С регистрами разобрались. Вопросов по ним пока больше нет.)
Скажите пожалуйста, блоки bm_in_ и In-to-Var (собрать/разобрать битовую маску) в симуляторе не работают?
kondor3000
07.07.2022, 09:32
Здравствуйте.
С регистрами разобрались. Вопросов по ним пока больше нет.)
Скажите пожалуйста, блоки bm_in_ и In-to-Var (собрать/разобрать битовую маску) в симуляторе не работают?
Сбор и разбор маски работает в симуляторе. На самом деле макросы сбора и разбора маски очень простые, см скрин 615526155061553
Советую написать свои на 8, 12, 16 бит
piligrim
07.07.2022, 10:02
Я понимаю что они простые, но вчера проверял несколько раз. В симуляторе не работали.
kondor3000
07.07.2022, 10:14
Я понимаю что они простые, но вчера проверял несколько раз. В симуляторе не работали.
Не работает в симуляторе, если вы переменные не сделали энергонезависимыми (хоть на время), или переменная не подключена, например к выходу (или не выведена, например на экран). Выше 3 скрин работа в симуляторе.
piligrim
07.07.2022, 10:44
Да понял. Спасибо!
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot