PDA

Просмотр полной версии : ПЛК160+Wintek



FallenDAY
04.10.2017, 16:10
Люди добрые помогите) как прочитать значение 2 байта(красная полоса) и записать 2 байта (синяя полоса) с плк 160 в Weintek? Какой адресс? функция и формат данных данных?33468

FallenDAY
04.10.2017, 18:21
Кажись я понял свою ошибку. Я обращался к битам, а нужно было обращаться к регистру. Тоесть для 2 байт подчёркнутых красным будет чтение 3х4, а для 2 байт подчёркнутых синим будет запись 6х12. Если не прав поправьте.

petera
05.10.2017, 14:16
Кажись я понял свою ошибку. Я обращался к битам, а нужно было обращаться к регистру. Тоесть для 2 байт подчёркнутых красным будет чтение 3х4, а для 2 байт подчёркнутых синим будет запись 6х12. Если не прав поправьте.

Поправлю
33483
Или если у Wintek не zero-based addresing, прибавить к адресам "1"
http://www.owen.ru/forum/attachment.php?attachmentid=12345&d=1395648726

FallenDAY
05.10.2017, 16:59
ПО факту получилось так: начиная с первых 2 байт адрес и функция чтения/записи в Weinteke 4х4, 4х5, 4х6, 4х7, 4х8, 4х9, 4х10, 4х11. Float 4х12, 4х14.

FallenDAY
05.10.2017, 17:01
Поправлю
33483
Или если у Wintek не zero-based addresing, прибавить к адресам "1"
http://www.owen.ru/forum/attachment.php?attachmentid=12345&d=1395648726

Благодарю. Правда подобрал адреса уже после того как увидел твой ответ))

petera
05.10.2017, 22:14
ПО факту получилось так: начиная с первых 2 байт адрес и функция чтения/записи в Weinteke 4х4, 4х5, 4х6, 4х7, 4х8, 4х9, 4х10, 4х11. Float 4х12, 4х14.

Все же Float, в Вашей системе отсчета если адреса начинаются с 1, должны быть 4х13, 4х15,

См. мою картинку, здесь адреса начинаются с 0. В этом случае у ОВЕН Float всегда по четным адресам, если предыдущий 2 байт был 4х10, то в конфигцрации для следующнго Float происходит автоматическое выравнивание адреса до ближайшего четного т.е. будет не 4х11, а 4х12.
Или в Вашей системе отсчета 4х12 превращаются в 4х13.

Просто для маленьких значений чисел Вы не заметите разницу в показаниях если сместите адрес на один регистр

FallenDAY
06.10.2017, 10:12
Все же Float, в Вашей системе отсчета если адреса начинаются с 1, должны быть 4х13, 4х15,

См. мою картинку, здесь адреса начинаются с 0. В этом случае у ОВЕН Float всегда по четным адресам, если предыдущий 2 байт был 4х10, то в конфигцрации для следующнго Float происходит автоматическое выравнивание адреса до ближайшего четного т.е. будет не 4х11, а 4х12.
Или в Вашей системе отсчета 4х12 превращаются в 4х13.

Просто для маленьких значений чисел Вы не заметите разницу в показаниях если сместите адрес на один регистр


Это только у овена такое выравнивание или у всех плк в CODESYS?

petera
06.10.2017, 10:38
Это только у овена такое выравнивание или у всех плк в CODESYS?

Про остальных не знаю, есть ли там что-то похожее на модуль Slave как у ПЛК ОВЕН.

Николаев Андрей
06.10.2017, 10:48
Это только у овена такое выравнивание или у всех плк в CODESYS?

Это абсолютное решение CODESYS 2.3.
По другому может быть только если кто то купил SDK и сделал свою реализацию обмена.

Р.Александр
06.10.2017, 20:03
А как ведется нумерация внутри байта ? Например, если первые два 8-битных регистра будут 4х0, то как будут в них нумероваться биты?

FallenDAY
07.10.2017, 12:21
А как ведется нумерация внутри байта ? Например, если первые два 8-битных регистра будут 4х0, то как будут в них нумероваться биты?

от 0 до 15. в Weintek от 1 до 16.

Р.Александр
07.10.2017, 15:19
Именно у пары Owen ПЛК и Weintek - если первая пара 8 битных идет как 4х1, то как будут в ней биты - 0х1 и далее до 0х16, как обычно, или 4х1.1 и так до 4х1.16 (я уже не помню где встречал и такую нумерацию)?. Просто предстоит "переучивать" на русский язык оборудование, в котором стоит эта самая Weintek и неизвестный контроллер (еще не смотрел какой), половина выходов которого не работает, хочу заменить на Owen ПЛК110. Конечно, если заказчик согласится , лучше сразу поставить СП307, но на всякий случай нужно обдумать и вариант со своей панелью.

FallenDAY
08.10.2017, 10:47
если у тебя в плк для чения/записи используется 8 бит, как у меня, то в Weintek у тебя чтение и запись значений типа BOOL будет осуществляться так: 0x_single_Bit-1, что соответствует чтению либо записи в твой ПЛК значения в нулевой бит. И так далее сколько там к тебя битов создано (0x_single_Bit-2 - это чтение/запись в 1 первый бит).
А вот если ты в ПЛК BOOL переменные преобразовываешь в WORD. то там уже идёт: функция чтения/записи х адрес регистра . номер бита. Как вариант 4х1.1-4х1.16 это для 2 байт. Хотя я встречал вроде что там вместо точки может быть решётка. 4х1#1. Самому тестить не приходилось, но компилятор не выдаёт ошибки ни так ни так))))

Р.Александр
08.10.2017, 11:08
У меня там должно быть, судя по всему, два 8 битных регистра BOOL, плюс 3 регистра WORD, получается, первые 16 будет 0х1 (или 0х0 все таки?) и далее, до 0х16 (15), затем пойдет 4х2, 4х3,4х4. Я правильно понял? Конечно, потом проверю все опытным путем, но предварительная информация все таки не мешает.

FallenDAY
08.10.2017, 19:55
У меня там должно быть, судя по всему, два 8 битных регистра BOOL, плюс 3 регистра WORD, получается, первые 16 будет 0х1 (или 0х0 все таки?) и далее, до 0х16 (15), затем пойдет 4х2, 4х3,4х4. Я правильно понял? Конечно, потом проверю все опытным путем, но предварительная информация все таки не мешает.

Да. Правильно. В Weinteke для двух 8 битных у тебя будет 0x_single_Bit-1 - 0x_single_Bit-16. Для 3 регистров WORD у тебя будет не 4х2, 4х3,4х4, а 4х3, 4х4,4х5. В Weintek к любой адресации прибавляется 1.

Р.Александр
09.10.2017, 11:14
Да. Правильно. В Weinteke для двух 8 битных у тебя будет 0x_single_Bit-1 - 0x_single_Bit-16. Для 3 регистров WORD у тебя будет не 4х2, 4х3,4х4, а 4х3, 4х4,4х5. В Weintek к любой адресации прибавляется 1.

Ну да, я просто по обыкновению посчитал первую пару за 0 регистр.
Спасибо. Если получится, вообще хорошо - картинки-кнопочки рисовать в панели не нужно, просто переадресовать с ее адресации на свою, и все.