Просмотр полной версии : СП310 Помощь зала.
zamnarzanom
07.10.2016, 11:01
Парни, приобрёл сп310 для экспериментов с дальнейшей установкой на оборудование.
26901
подскажите, как сделать кнопки, что в центре, чтобы они, после нажатия, делались красными, до нажатия кнопки стоп.
Спасибо!
Евгений Кислов
07.10.2016, 11:26
Парни, приобрёл сп310 для экспериментов с дальнейшей установкой на оборудование.
26901
подскажите, как сделать кнопки, что в центре, чтобы они, после нажатия, делались красными, до нажатия кнопки стоп.
Спасибо!
Простейший пример.
zamnarzanom
07.10.2016, 11:54
Евгений, не моглибы вы упаковать в архив?
не могу скачать
Евгений Кислов
07.10.2016, 11:58
Евгений, не моглибы вы упаковать в архив?
не могу скачать
Без проблем.
zamnarzanom
10.10.2016, 11:07
С этим разобрался, спасибо!
возникло несколько новых вопросов.
Например: кнопка управляет регистром psb256, регистр имеет 8 бит, то есть, при нажатии на кнопку содержимое регистра становится 01h ? Остальные биты вообще не используются?
Если Я в проекте использую 10 различных кнопок, то по модбасу Я должен считывать 10 байт данных, для того, чтобы опрашивать кнопки?
или psb это всёже 1 бит?
Возможно ли состояние 16 ти кнопок запихнуть в 2 байта и читать их по модбасу?
Спасибо!
Евгений Кислов
10.10.2016, 11:11
С этим разобрался, спасибо!
возникло несколько новых вопросов.
Например: кнопка управляет регистром psb256, регистр имеет 8 бит, то есть, при нажатии на кнопку содержимое регистра становится 01h ? Остальные биты вообще не используются?
Если Я в проекте использую 10 различных кнопок, то по модбасу Я должен считывать 10 байт данных, для того, чтобы опрашивать кнопки?
или psb это всёже 1 бит?
Возможно ли состояние 16 ти кнопок запихнуть в 2 байта и читать их по модбасу?
Спасибо!
PSB - это 1 бит.
Вы можете использовать для кнопок биты PSW (word'овских регистров), а по Modbus передавать уже как раз эти регистры - получится как раз то, чего вы хотите.
zamnarzanom
10.10.2016, 11:50
Спасибо, теперь понятно, а в документации ошибка! на странице 47. psb 8bit
Евгений Кислов
10.10.2016, 11:59
Спасибо, теперь понятно, а в документации ошибка! на странице 47. psb 8bit
Это не совсем так. Когда я писал про "PSB - это 1 бит", я все же имел в виду практическую сторону дела.
Физически он занимает 8 бит, как и переменная типа BOOL в CDS - поэтому в таблице приведено это значение.
zamnarzanom
10.10.2016, 21:06
Спасибо, но тогда следовало бы нарисовать полноценную карту памяти панели.
Спасибо, но тогда следовало бы нарисовать полноценную карту памяти панели.
А чего ее рисовать?
Панель имеет:
-оперативную память -набор 16-ти разрядных регистров PSW[0...4095] и битов PSB[0...1023]. Области PSB и PSW не пересекаются.
-энергонезависимую память набор 16-ти разрядных регистров PFW[0...4 000 000].
Если ПЛК мастер, то со стороны мастера слейв в панели имеет три независимые области регистров Modbus
http://www.owen.ru/forum/attachment.php?attachmentid=12241&d=1394708722
Да,да - эта карта справедлива и для СП3хх
zamnarzanom
11.10.2016, 10:44
Простейший пример.
Евгений, подскажите, как сделать, чтобы нажатие на объект 2 отменяло самоуничтожение объекта1?
Спасибо.
zamnarzanom
11.10.2016, 10:55
Я искал в руководстве подобную картинку.
26988
Евгений Кислов
11.10.2016, 10:57
Евгений, подскажите, как сделать, чтобы нажатие на объект 2 отменяло самоуничтожение объекта1?
Спасибо.
Например, вот так. Теперь одновременно может быть запущено самоуничтожение только одного из объектов.
zamnarzanom
11.10.2016, 11:08
а функциональная область может располагаться где угодно?
как не удобно, мешается...
Евгений Кислов
11.10.2016, 11:11
а функциональная область может располагаться где угодно?
Да, в любом месте экрана. Это невизуализируемый элемент. По умолчанию, она активна только в пределах того экрана, на котором находится; если необходимо, чтобы ее действия выполнялись всегда - нужно нажать на нее ПКМ и выбрать команду Сделать глобальным.
zamnarzanom
12.10.2016, 11:28
а эти области нельзя как нибудь назвать по другому, то есть присвоить номера или как их отличить друг от друга?
Евгений Кислов
12.10.2016, 11:37
а эти области нельзя как нибудь назвать по другому, то есть присвоить номера или как их отличить друг от друга?
Функционал элемента этого не предусматривает. Можно написать комментарии (номера и т.д.) текстом с постоянно активным битом видимости (использовать PSB1 для этого).
Или можно воспользоваться макросами - тогда достаточно одной функциональной области, которая будет эти макросы вызывать.
zamnarzanom
12.10.2016, 11:46
хорошо, спасибо!
Ещё вопрос, если позволите, как сделать, чтобы если нажата первая кнопка, вторая не нажималась пока не сброшу первую?
Евгений Кислов
12.10.2016, 12:04
хорошо, спасибо!
Ещё вопрос, если позволите, как сделать, чтобы если нажата первая кнопка, вторая не нажималась пока не сброшу первую?
Вариантов, наверняка, множество, я просто сделал первое, что пришло в голову. Кнопка объекта 2 - два наложенных друг на друга элемента.
Если планируется что-то в таком духе и есть опыт программирования ПЛК - то все же лучше посмотреть в сторону макросов, я полагаю.
zamnarzanom
21.10.2016, 10:33
подскажите, как лучше реализовать.
есть 2 регистра psw302 и psw300
в 302й по модбасу закидывается наработка в дециметрах.
возможно ли рассчитать количество этих дециметров за 6с и сохранить в 300м
то есть каждые 6 секунд нужно вычитать из текущего 302го предыдущий 302й(сохранённый)
спасибо.
или же всё это проще сделать в пр200 и закинуть по сети?
подскажите, как лучше реализовать.
есть 2 регистра psw302 и psw300
в 302й по модбасу закидывается наработка в дециметрах.
возможно ли рассчитать количество этих дециметров за 6с и сохранить в 300м
то есть каждые 6 секунд нужно вычитать из текущего 302го предыдущий 302й(сохранённый)
спасибо.
или же всё это проще сделать в пр200 и закинуть по сети?
Так, что ли?
https://www.youtube.com/watch?v=AdEh4nNhcpQ
zamnarzanom
21.10.2016, 19:00
да вроде.
:)
только там скорость до 100 м\мин, не больше.
Здесь двумя регистрами не обойтись, нужен третий для хранения предыдущего значения регистра PSW302.
Пусть это будет PSW500.
Делаете ф.область
27195
Внутри две функции
27196
PSW300=PSW302-PSW500
PSW500=PSW302 (Копировать регистр PSW302 в PSW500)
zamnarzanom
24.10.2016, 09:46
Спасибо!
про -копировать регистр- не догадался!
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot