PDA

Просмотр полной версии : СП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
Спасибо, но тогда следовало бы нарисовать полноценную карту памяти панели.

petera
10.10.2016, 22:56
Спасибо, но тогда следовало бы нарисовать полноценную карту памяти панели.

А чего ее рисовать?
Панель имеет:
-оперативную память -набор 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 и закинуть по сети?

petera
21.10.2016, 14:51
подскажите, как лучше реализовать.
есть 2 регистра psw302 и psw300
в 302й по модбасу закидывается наработка в дециметрах.
возможно ли рассчитать количество этих дециметров за 6с и сохранить в 300м
то есть каждые 6 секунд нужно вычитать из текущего 302го предыдущий 302й(сохранённый)
спасибо.
или же всё это проще сделать в пр200 и закинуть по сети?
Так, что ли?

https://www.youtube.com/watch?v=AdEh4nNhcpQ

zamnarzanom
21.10.2016, 19:00
да вроде.
:)
только там скорость до 100 м\мин, не больше.

petera
22.10.2016, 01:50
Здесь двумя регистрами не обойтись, нужен третий для хранения предыдущего значения регистра PSW302.
Пусть это будет PSW500.

Делаете ф.область
27195
Внутри две функции
27196

PSW300=PSW302-PSW500
PSW500=PSW302 (Копировать регистр PSW302 в PSW500)

zamnarzanom
24.10.2016, 09:46
Спасибо!
про -копировать регистр- не догадался!