cpu13.ru - форум OMRON
http://cpu13.ru/

Язык "высокого уровня"
http://cpu13.ru/viewtopic.php?f=4&t=109
Страница 1 из 2

Автор:  Raider144 [ Пт мар 30, 2007 00:08 ]
Заголовок сообщения:  Язык "высокого уровня"

Подскажите, существует ли для Программера какая-нить надстроечка с возможностью программировать на, к примеру, паскалеподобном языке? Как-то не задавался этим вопросом, а тут даже интересно стало. :)

Автор:  Алексей [ Пт мар 30, 2007 11:55 ]
Заголовок сообщения: 

Обязательно! Вам нужно создать Функциональный блок на ST. Определить ему входные и выходные переменные и использовать в программе. ST-структурированный текст, это почти ПАСКАЛЬ.

Автор:  Hromohlor [ Ср мар 19, 2008 23:31 ]
Заголовок сообщения: 

А где про синтаксис можно прочитать?

Автор:  Andy [ Чт мар 20, 2008 12:50 ]
Заголовок сообщения: 

Программы для процессоров CJ/CS вер. 4 можно целиком писать на ST, но для этого нужен CX-One. Для более ранней версии (3.0) процессоров CJ/CS, а так же для CP1, ST доступен только при создании функциональных блоков.
Описание структурированного текста приводится в R144-E1-02 "Function Block Introdution Guide" и W447-E1-05 "CX-Programmer V7.2 Operation Manual".

Автор:  Izergill [ Вт июн 24, 2008 08:37 ]
Заголовок сообщения: 

Подскажите, начал писать FB и необходимо создать аналог функции суммирования. Хотелось реализовать таким образом: входные параметры - первое слово, количество слов; выходной параметр - сумма. И вот не знаю как слова, следующие друг за другом извлекать - похоже вообще никак :(

Автор:  Олег [ Вт июн 24, 2008 20:20 ]
Заголовок сообщения: 

а функция SUM(184) не подойдёт?
в FB входную переменную массивом к сожелению задать нельзя...

Автор:  Izergill [ Ср июн 25, 2008 05:12 ]
Заголовок сообщения: 

SUM не подойдет - мне надо суммировать переменные типа INT...

Автор:  Олег [ Ср июн 25, 2008 11:55 ]
Заголовок сообщения: 

Цитата:
Описание
По команде SUM(184) осуществляется прибавление С единиц данных к данным, начиная со слова R1. Результат выводится в D1 и D. Установки в С+1 определяют тип суммируемых единиц: слова или байты, тип данных: двоичные данные (со знаком или без знака) или двоично-десятичные данные, а также порядок суммирования со старшего байта или с младшего байта слова R1 в том случае, когда задано суммирование байтов.
Когда бит 15 слова С+1 устанавливается в состояние 0, команда SUM(184) обрабатывает двоичные данные. В этом случае бит 12 определяет, являются ли эти данные двоичными данными со знаком (бит 15=1), или без знака (бит 15=0).

как раз INT и может суммировать.

Автор:  Izergill [ Ср июн 25, 2008 12:04 ]
Заголовок сообщения: 

Обалдеть, а где можно такое описание взять? У меня есть только w394 и там таких подробностей я не находил

Автор:  bon [ Ср июн 25, 2008 12:34 ]
Заголовок сообщения: 

Izergill писал(а):
Обалдеть, а где можно такое описание взять? У меня есть только w394 и там таких подробностей я не находил

мона ещё и Instruction Help юзать в программере... там обычно все довольно подробно описано... ток на английском

Автор:  Олег [ Ср июн 25, 2008 23:48 ]
Заголовок сообщения: 

W340-RU2-02+CS1+PM.pdf
есть на оф сайте
ссылка

Автор:  Izergill [ Чт июн 26, 2008 05:25 ]
Заголовок сообщения: 

Спасибо, оч. интересный мануал!

Автор:  Олег [ Чт июн 26, 2008 08:47 ]
Заголовок сообщения: 

только неполный и устаревший, английская версия этого мануала уже в 14 редакции и страниц там в два раза больше.

Автор:  Олег [ Ср июл 02, 2008 10:51 ]
Заголовок сообщения: 

Цитата:
в FB входную переменную массивом к сожалению задать нельзя...


Вот тут я как раз был неправ, решается очень просто,
делаем внутренную переменную с именем например "Слово"
тип= WORD массив= 32000 начальный адрес=D0
делаем входную переменную "Адрес" тип= INT или UINT

далее чтобы обратится внутри блока к области D с адресом заданным в переменной "Адрес" пишем так:Слово[Адрес]
т.е. если "Адрес"=25 то Слово[Адрес] отдаст содержимое D25

и чё только раньше не додумался...
т.е. нет никаких ограничений чтобы написать FB в котором в качестве входных значений можно задать адрес первого слова и колличество слов для суммирования.

Автор:  Izergill [ Ср авг 06, 2008 12:42 ]
Заголовок сообщения: 

Олег писал(а):
Цитата:
в FB входную переменную массивом к сожалению задать нельзя...


Вот тут я как раз был неправ, решается очень просто,
делаем внутренную переменную с именем например "Слово"
тип= WORD массив= 32000 начальный адрес=D0
делаем входную переменную "Адрес" тип= INT или UINT

далее чтобы обратится внутри блока к области D с адресом заданным в переменной "Адрес" пишем так:Слово[Адрес]
т.е. если "Адрес"=25 то Слово[Адрес] отдаст содержимое D25

и чё только раньше не додумался...
т.е. нет никаких ограничений чтобы написать FB в котором в качестве входных значений можно задать адрес первого слова и колличество слов для суммирования.


Попытался написать указанным выше способом FB, возникла проблема с вычислениями: задаю выражение вида слово[a1]:=2*слово[a2]-слово[a3]; на что в ответ получаю еррор " - operator not supported by word dsts type"

Страница 1 из 2 Часовой пояс: UTC + 3 часа (Russia: MSK)
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/