Vijeo Citect Cicode, programming with Cicode... |
|
|
Гость_Grege_*
|
24.10.2010, 16:31
|
Guest Forum

|
Привет всем, я новичок в этом форуме и в SCADA. Я был бы рад, если кто-то может мне помочь с программированием в Vijeo Citect Cicode, у меня нет не какова Опыта работы в программировании особенно с этой программой. и есть ли программы с его помощью я мог бы преобразовать код из программы С, в любое другое, что Vijeo Citect могли бы поддержать, у меня есть код, написанный на C, я попытался скопировать в Citect и не увенчались успехом, или если кто-нибудь знает, как писать тот же код в Citect я мог бы отдать его ... Кстати, я не писал код самостоятельного заранее благодарю. P.S простите за мой русский.
|
|
|
|
|
25.10.2010, 14:21
|
Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174

|
Программ нет, поскольку у Citect C-подобный язык и свой компилятор. Пишите заново ваш код. Вообще странно, зачем вам программа из другого места (скады?), если она заведомо не будет работать в сайтеке. Проще говоря - чего надо сделать-то?  )) Есть еще чудесный citect.ru
|
|
|
|
Гость_Grege_*
|
27.10.2010, 10:13
|
Guest Forum

|
доброе утро На самом деле я не знаю, как программировать в Citect или любой другой язык программирования. В настоящее время я хочу, что Citect получит значения из поля детектора, сделаeт расчет и даcт мне расчетного значения, что я буду представлять на экране для оператора. например: значение датчика температуры 20c градусов, я хочу представить его в Fahrenheit, я хотел бы сделать этот расчет в cicode и представить данныe для оператора. Я забыл сказать, что это может быть 1 или 100 детекторов, поэтому мне нужно штоб код был гибким. Спасибо заранее, и хорошего дня.
Сообщение отредактировал Grege - 27.10.2010, 10:19
Прикрепленные файлы
try.txt ( 1,01 килобайт )
Кол-во скачиваний: 14
|
|
|
|
|
27.10.2010, 10:24
|
Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316

|
Я не очень силен в С, но по моему там нет пересчета в фаренгейты. А вобще в поле отображения можно ввести не только переменную, но и С-код выражение. Не помню как фаренгейты расчитываются, но если б нужно было перемернную пересчитать например по формуле 5*T_cels+458, где T_cels - входящае переменная в цельсиях, то в анимации отображения нужно б было ввести тоже самое, тоесть: 5*T_cels+458
|
|
|
|
|
27.10.2010, 10:35
|
Группа: Участники форума
Сообщений: 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(тэг в цельсиях) Таким образом при отображении тэга у вас запустится ваша функция, обработает значение и выдаст значение в фаренгейтах - которое уже и отобразится. Функцию нужно включить в проекте в стандартный файл с функциями. Удачи
|
|
|
|
Гость_Grege_*
|
27.10.2010, 10:56
|
Guest Forum

|
когда я хочу, вернуть значение из cicode на мой графический экран, какая процедура, как вы написали return value; Я должен определить значение тега? Как подключить эту переменную и представлять на экране?
как я сказал, что никогда нe программировал на любом языке, и я не знаю, как это сделать.
Thank you guys for you instant help.
когда я хочу, вернуть значение из cicode на мой графический экран, какая процедура, как вы написали return value; Я должен определить значение тега? Как подключить эту переменную и представлять на экране?
как я сказал, что никогда нe программировал на любом языке, и я не знаю, как это сделать.
Thank you guys for you instant help.
|
|
|
|
|
27.10.2010, 11:08
|
Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174

|
You can write in english, for best understood  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
|
|
|
|
|
27.10.2010, 11:09
|
Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316

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

|
когда я хочу, вернуть значение из cicode на мой графический экран, какая процедура, как вы написали return value; Я должен определить значение тега? Как подключить эту переменную и представлять на экране?
как я сказал, что никогда нe программировал на любом языке, и я не знаю, как это сделать.
Thank you guys for you instant help.
|
|
|
|
Гость_Grege_*
|
27.10.2010, 11:19
|
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
|
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
|
|
|
|
|
27.10.2010, 11:37
|
Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174

|
какого типа у вас переменная cel? Она должна быть типа Real для написанной мной функции, но это можно поменять. Достаточно поменять два слова REAL в функции в cicode на нужное вам.
Преобразовать любой тип можно стандартной функцией type_to_type, например: int_to_real Допустимые типы можно посмотреть в хелпе.
|
|
|
|
Гость_Grege_*
|
27.10.2010, 11:49
|
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.
|
|
|
|
|
27.10.2010, 11:51
|
Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174

|
при компиляции щелкните на ошибке, среда разработки откроет место, где содержится эта ошибка. Возможно дело в самом теге, драйверах и тд...
|
|
|
|
|
27.10.2010, 11:58
|
Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316

|
Кстати выражение value=5*cel+458.0 не переводит в фаренгейты, это я для примера привел
Старый добрый анегдот в тему:
Прапорщик: Снаряд летит под углом 45 градусов... Слишком умный салага: цельсия или фаренгейта? Прапорщик (задумчиво): цельсия Все салаги: ха-ха-ха Прапорщик: молодцы, шутки понимаете. Конечно же фаренгейта...
Не примите за флуд
|
|
|
|
Гость_Grege_*
|
27.10.2010, 12:07
|
Guest Forum

|
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
|
|
|
|
|
27.10.2010, 12:20
|
Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174

|
Не пишите real в свойствах numeric expression при вызове функции (1 скриншот)- там нельзя объявлять переменную.
Переменная cel у вас уже создана? Если нет, создайте как локальный тэг.
|
|
|
|
Гость_Grege_*
|
27.10.2010, 12:27
|
Guest Forum

|
removed. cel tag are existing and defined as REAL, and it still shows me the last error  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.
|
|
|
|
|
27.10.2010, 12:50
|
Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174

|
the problem is i haven`t citect on my laptop, i was change system to siemens  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
|
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
|
|
|
|
|
27.10.2010, 13:06
|
Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174

|
try to display tat value: cels_to_far(0.0) Maybe i make a some mistake in function
|
|
|
|
Гость_Grege_*
|
27.10.2010, 13:15
|
Guest Forum

|
nothing good, the same error as before.
|
|
|
|
|
27.10.2010, 13:17
|
Группа: Участники форума
Сообщений: 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  Hope it help
|
|
|
|
Гость_Grege_*
|
27.10.2010, 13:26
|
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.
|
|
|
|
|
27.10.2010, 13:31
|
Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174

|
heh, you will be surprised about citect - it most stupid scada system in the world  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. Сан, потесть функцию плиз - у меня неначем
Сообщение отредактировал ScrewDriver - 27.10.2010, 13:32
|
|
|
|
Гость_Grege_*
|
27.10.2010, 13:37
|
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
|
|
|
|
|
27.10.2010, 14:22
|
Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316

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

|
у него создан тэг, типа реал - он нормально отображается на экране. При отображении через функцию выводится ошибка о несовместимости типов. Отображение числа 0.0 через функцию тоже приводит к ошибке о несовместимости типов.
Я так думаю ошибка или в саймой функции или в ее декларировании.
В общем Grege просит сделать демо проект с отображением локальной переменной типа real через эту функцию на экране.
|
|
|
|
|
27.10.2010, 14:57
|
Группа: Участники форума
Сообщений: 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
|
Guest Forum

|
san Можете ли вы выслать мне, пожалуйста backup на моем проекта еще что-то неправильно
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
Реклама
ООО «Арктика групп» ИНН: 7713634274
Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqvWgxEU
ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqvybpdW
Реклама: ООО «СЛ-ЛАЗЕР» ИНН 7727447267 | erid: 2VtzquvhFWx
Последние сообщения Форума
|