Реклама / ООО «ИЗОЛПРОЕКТ» / ИНН: 7725566484 | ERID: 2Vtzqx6kV7S
IPB IPB
Проектирование, монтаж, наладка, сервис


Здравствуйте, гость ( Вход | Регистрация )

- Стандарт НП «АВОК» 7.11-2024
«Рекомендации по проектированию инженерных систем
дошкольных образовательных организаций»

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
2 страниц V   1 2 >  
Добавить ответ в эту темуОткрыть тему
> Vijeo Citect Cicode, programming with Cicode...
Гость_Grege_*
сообщение 24.10.2010, 16:31
Сообщение #1





Guest Forum






Привет всем, я новичок в этом форуме и в SCADA.

helpsmilie.gif
Я был бы рад, если кто-то может мне помочь с программированием в Vijeo Citect Cicode,
у меня нет не какова Опыта работы в программировании особенно с этой программой.
и есть ли программы с его помощью я мог бы преобразовать код из программы С, в любое другое, что Vijeo Citect могли бы поддержать, у меня есть код, написанный на C, я попытался скопировать в Citect и не увенчались успехом,
или если кто-нибудь знает, как писать тот же код в Citect я мог бы отдать его ... Кстати, я не писал код самостоятельного

заранее благодарю.

P.S простите за мой русский.


Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ScrewDriver
сообщение 25.10.2010, 14:21
Сообщение #2





Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174



Программ нет, поскольку у Citect C-подобный язык и свой компилятор. Пишите заново ваш код.
Вообще странно, зачем вам программа из другого места (скады?), если она заведомо не будет работать в сайтеке.

Проще говоря - чего надо сделать-то? smile.gif))

Есть еще чудесный citect.ru
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Grege_*
сообщение 27.10.2010, 10:13
Сообщение #3





Guest Forum






доброе утро

На самом деле я не знаю, как программировать в Citect или любой другой язык программирования.
В настоящее время я хочу, что Citect получит значения из поля детектора, сделаeт расчет и даcт мне расчетного значения, что я буду представлять на экране для оператора.

например: значение датчика температуры 20c градусов, я хочу представить его в Fahrenheit, я хотел бы сделать этот расчет в cicode и представить данныe для оператора.

Я забыл сказать, что это может быть 1 или 100 детекторов, поэтому мне нужно штоб код был гибким.

Спасибо заранее, и хорошего дня.

Сообщение отредактировал Grege - 27.10.2010, 10:19
Прикрепленные файлы
Прикрепленный файл  try.txt ( 1,01 килобайт ) Кол-во скачиваний: 14
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 27.10.2010, 10:24
Сообщение #4





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Я не очень силен в С, но по моему там нет пересчета в фаренгейты. А вобще в поле отображения можно ввести не только переменную, но и С-код выражение. Не помню как фаренгейты расчитываются, но если б нужно было перемернную пересчитать например по формуле 5*T_cels+458, где T_cels - входящае переменная в цельсиях, то в анимации отображения нужно б было ввести тоже самое, тоесть:
5*T_cels+458
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ScrewDriver
сообщение 27.10.2010, 10:35
Сообщение #5





Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174



Для этой задачи - вам нужно в каждом поле анимации прописать формулу пересчета, как написал san.
Что можно унифицировать - создайте функцию в cicode, которая возвращала бы значение в фаренгейтах, например вот так:

FUNCTION cels_to_far(real scels)
REAL value;
value=5*scels+458.0;
return value;

Далее в поле отображения значения вписывайте
cels_to_far(тэг в цельсиях)

Таким образом при отображении тэга у вас запустится ваша функция, обработает значение и выдаст значение в фаренгейтах - которое уже и отобразится.
Функцию нужно включить в проекте в стандартный файл с функциями.

Удачи smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Grege_*
сообщение 27.10.2010, 10:56
Сообщение #6





Guest Forum






когда я хочу, вернуть значение из cicode на мой графический экран, какая процедура, как вы написали return value;
Я должен определить значение тега? Как подключить эту переменную и представлять на экране?

как я сказал, что никогда нe программировал на любом языке, и я не знаю, как это сделать.

Thank you guys for you instant help.

когда я хочу, вернуть значение из cicode на мой графический экран, какая процедура, как вы написали return value;
Я должен определить значение тега? Как подключить эту переменную и представлять на экране?

как я сказал, что никогда нe программировал на любом языке, и я не знаю, как это сделать.

Thank you guys for you instant help.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ScrewDriver
сообщение 27.10.2010, 11:08
Сообщение #7





Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174



You can write in english, for best understood smile.gif
so if you want to write down your variable in your screen you need:
1) copy my function into standart cicode folder into your project tree;
2) on project screen add a text screen;
3) into text screen properties, where you write down tag, just write down name of function, which you want to call for example: cels_to_far(variable_in_celsium)

Ну или на русском:
1) скопируйте мою функцию в стандартную папку cicode функций
2) на экранной форме добавьте поле для отображения тэга
3) в свойствах формы отображения, там где вы обычно пишите тэг, впишите вместо него функцию, например: cels_to_far(variable_in_celsium)

Сообщение отредактировал ScrewDriver - 27.10.2010, 11:10
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 27.10.2010, 11:09
Сообщение #8





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



вместо тега пишите:
1 вариант (мой) : выражение
2 вариант (ScrewDriver): вызов функции - cels_to_far(тэг в цельсиях), а функцию пишите в файле на СI-коде
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Grege_*
сообщение 27.10.2010, 11:13
Сообщение #9





Guest Forum






когда я хочу, вернуть значение из cicode на мой графический экран, какая процедура, как вы написали return value;
Я должен определить значение тега? Как подключить эту переменную и представлять на экране?

как я сказал, что никогда нe программировал на любом языке, и я не знаю, как это сделать.

Thank you guys for you instant help.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Grege_*
сообщение 27.10.2010, 11:19
Сообщение #10





Guest Forum






sorry for spam, problems with internet.

any way thank you, ill try your recommendations.

you can write in russian i can read, but dont have the function in my windows to write.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Grege_*
сообщение 27.10.2010, 11:32
Сообщение #11





Guest Forum






im trying to write cels_to_far(cel);
where the "cels_to_far" is the function and "cel" is the tag.
it pop-up an error: "Incompatible types"

im writing in properties>appearance>display value

and i wrote your function in cicode:

FUNCTION cels_to_far(REAL cel)
REAL value;
value=5*cel+458.0;
RETURN value;

END
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ScrewDriver
сообщение 27.10.2010, 11:37
Сообщение #12





Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174



какого типа у вас переменная cel? Она должна быть типа Real для написанной мной функции, но это можно поменять.
Достаточно поменять два слова REAL в функции в cicode на нужное вам.

Преобразовать любой тип можно стандартной функцией type_to_type, например: int_to_real
Допустимые типы можно посмотреть в хелпе.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Grege_*
сообщение 27.10.2010, 11:49
Сообщение #13





Guest Forum






cel is REAL type, the problem i cant represent it on the screen, i doing as i told before and type of display in the left side is numeric, but i'v tried string also and other types the same affect and it popups even more errors.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ScrewDriver
сообщение 27.10.2010, 11:51
Сообщение #14





Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174



при компиляции щелкните на ошибке, среда разработки откроет место, где содержится эта ошибка.
Возможно дело в самом теге, драйверах и тд...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 27.10.2010, 11:58
Сообщение #15





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Кстати выражение value=5*cel+458.0 не переводит в фаренгейты, это я для примера привел


Старый добрый анегдот в тему:

Прапорщик: Снаряд летит под углом 45 градусов...
Слишком умный салага: цельсия или фаренгейта?
Прапорщик (задумчиво): цельсия
Все салаги: ха-ха-ха
Прапорщик: молодцы, шутки понимаете. Конечно же фаренгейта...

Не примите за флуд
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Grege_*
сообщение 27.10.2010, 12:07
Сообщение #16





Guest Forum






laugh.gif
i rechecked the types and the other properties, the problem with writing cels_to_far(REAL cel); into displaying the value, ill do it easier with screen prints.
Прикрепленные файлы
Прикрепленный файл  display.JPG ( 31,3 килобайт ) Кол-во скачиваний: 29
Прикрепленный файл  error1.JPG ( 22,22 килобайт ) Кол-во скачиваний: 21
Прикрепленный файл  error2.JPG ( 23,18 килобайт ) Кол-во скачиваний: 17
Прикрепленный файл  error3.JPG ( 23,91 килобайт ) Кол-во скачиваний: 14
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ScrewDriver
сообщение 27.10.2010, 12:20
Сообщение #17





Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174



Не пишите real в свойствах numeric expression при вызове функции (1 скриншот)- там нельзя объявлять переменную.

Переменная cel у вас уже создана? Если нет, создайте как локальный тэг.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Grege_*
сообщение 27.10.2010, 12:27
Сообщение #18





Guest Forum






removed.

cel tag are existing and defined as REAL, and it still shows me the last error unsure.gif

if you have some time, could you open a project on your own citect and make me a backup i could see how to do so? it would be great.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ScrewDriver
сообщение 27.10.2010, 12:50
Сообщение #19





Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174



the problem is i haven`t citect on my laptop, i was change system to siemens wink.gif
maybe san can help you. sorry.
also you can look to the demo projects in citect directory - it`s easy.
I think you have problem in tag properties.

And also - first of all try to show just "cel" tag without any function on main screen.

Сообщение отредактировал ScrewDriver - 27.10.2010, 12:54
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Grege_*
сообщение 27.10.2010, 13:02
Сообщение #20





Guest Forum






i did for my sorrow i cant understand what is the problem.
and displaying cel value i succeed, its all ok, and everything else ok until i write cels_to_far(cel);

hope san can help me rolleyes.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ScrewDriver
сообщение 27.10.2010, 13:06
Сообщение #21





Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174



try to display tat value: cels_to_far(0.0)
Maybe i make a some mistake in function smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Grege_*
сообщение 27.10.2010, 13:15
Сообщение #22





Guest Forum






nothing good, the same error as before.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ScrewDriver
сообщение 27.10.2010, 13:17
Сообщение #23





Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174



FUNCTION cels_to_far(real scels)
REAL value;
value=5.0*scels+458.0;
return value;

Change function - look to zero after 5 wink.gif
Hope it help wink.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Grege_*
сообщение 27.10.2010, 13:26
Сообщение #24





Guest Forum






i hoped to, but still nothing
i would like to verify, cels_to_far(real scels), scels should be defined as tag in the citect, right?
cause i did it and i cant understand why it writes that it Incompatible types.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ScrewDriver
сообщение 27.10.2010, 13:31
Сообщение #25





Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174



heh, you will be surprised about citect - it most stupid scada system in the world smile.gif
it write beccause somewhere you have mistake - for example in cicode function.
i think you have problem in declaration of function or exactly in function.

Сан, потесть функцию плиз - у меня неначем smile.gif

Сообщение отредактировал ScrewDriver - 27.10.2010, 13:32
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Grege_*
сообщение 27.10.2010, 13:37
Сообщение #26





Guest Forum






yeah i already see stupid thing here
but i have nothing to do with it, still have to make that project on citect for my sorrow
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 27.10.2010, 14:22
Сообщение #27





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



я с английским не совсем дружу, к чему дошли?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ScrewDriver
сообщение 27.10.2010, 14:26
Сообщение #28





Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174



у него создан тэг, типа реал - он нормально отображается на экране.
При отображении через функцию выводится ошибка о несовместимости типов.
Отображение числа 0.0 через функцию тоже приводит к ошибке о несовместимости типов.

Я так думаю ошибка или в саймой функции или в ее декларировании.

В общем Grege просит сделать демо проект с отображением локальной переменной типа real через эту функцию на экране.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 27.10.2010, 14:57
Сообщение #29





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Правильно так:

REAL
FUNCTION cels_to_far(real scels)
REAL value;
value=5.0*scels+458.0;
return value;
end

То-есть забыли казать тип возвращаемого значения и end в конце функции. все проверил - работает.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Grege_*
сообщение 27.10.2010, 15:05
Сообщение #30





Guest Forum






san Можете ли вы выслать мне, пожалуйста backup
на моем проекта еще что-то неправильно
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

2 страниц V   1 2 >
Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Реклама
ООО «Арктика групп» ИНН: 7713634274




Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqvWgxEU

ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqvybpdW

Реклама: ООО «СЛ-ЛАЗЕР» ИНН 7727447267 | erid: 2VtzquvhFWx
Последние сообщения Форума






RSS Текстовая версия Сейчас: 9.8.2025, 17:23
Политика ООО ИИП «АВОК-ПРЕСС» в отношении обработки персональных данных