plcforum.uz.ua

International PLC Forum
It is currently Tue Nov 21, 2017 12:12 am

All times are UTC + 3 hours


Forum rules


Please click here to view the forum rules



Post new topic Reply to topic  [ 10 posts ] 
Author Message
PostPosted: Mon May 01, 2017 10:02 pm 

Joined: Wed Mar 19, 2008 4:12 pm
Posts: 132
Location: Ukraine
Здравствуйте,
Изучаю ТИА Портал v13, и стал вопрос.
Например, в CodeSys доступ к биту переменной (тип WORD)такой

описание:

test:word;

в самом коде

test.0:=true; (нулевому биту переменной test присваиваем лог единицу)

Как такое провернуть в ТИА Портале?????

Полчитал доки можно вроде использовать UDT, но в скаду мне всеравно нужно пихать WORD......


Top
 Profile  
 
PostPosted: Tue May 02, 2017 12:13 am 

Joined: Wed Oct 13, 2010 11:44 am
Posts: 161
Location: Russian Federation
https://cache.industry.siemens.com/dl/f ... 5.1_ru.pdf

Раздел 9.2.4 и далее.


Top
 Profile  
 
PostPosted: Tue May 02, 2017 8:38 am 

Joined: Wed Mar 19, 2008 4:12 pm
Posts: 132
Location: Ukraine
СПС, видел этот документ, но насколько я понял так нельзя как я хочу, без использования DB????


Top
 Profile  
 
PostPosted: Tue May 02, 2017 10:49 am 

Joined: Wed Oct 13, 2010 11:44 am
Posts: 161
Location: Russian Federation
Предлагают такой способ:
Code:
VAR_TEMP
tiINT : INT; //Integer value
tINT AT tiINT : STRUCT //For individual bit access
b08: BOOL ;
b09 : BOOL ;
b10 : BOOL ;
b11 : BOOL ;
b12 : BOOL ;
b13 : BOOL ;
b14 : BOOL ;
b15 : BOOL ;
b00 : BOOL ;
b01 : BOOL ;
b02 : BOOL ;
b03 : BOOL ;
b04 : BOOL ;
b05 : BOOL ;
b06 : BOOL ;
b07 : BOOL ;
END_STRUCT;
END_VAR

BEGIN
tiINT := <whatever integer your are looking at>;
tbXX := tINT.b04; //Fetch bit 04 in the integer
...


Top
 Profile  
 
 Post subject:
PostPosted: Tue May 02, 2017 10:47 pm 
Site Admin

Joined: Wed Sep 06, 2006 3:03 pm
Posts: 1091
Location: CIS
Или маски + преобразования типов (на примере 13-го бита):
Code:
VAR
Value:INT;
B13:BOOL;
END_VAR
BEGIN
IF B13=TRUE THEN
Value:= WORD_TO_INT(INT_TO_WORD(Value)OR W#2#0010_0000_0000_0000);
ELSE
Value:= WORD_TO_INT(INT_TO_WORD(Value)AND W#2#1101_1111_1111_1111);
END_IF;


Top
 Profile  
 
PostPosted: Wed May 03, 2017 11:49 am 
Site Admin

Joined: Sat Aug 13, 2005 9:15 am
Posts: 1087
всё проще:
Code:
#int_out.%X0 := #bool_in;


Top
 Profile  
 
PostPosted: Thu May 04, 2017 3:07 pm 

Joined: Wed Mar 19, 2008 4:12 pm
Posts: 132
Location: Ukraine
Code:
#test.%X0 := true;

так ошибка...3,Invalid access %X0 for #test.


Top
 Profile  
 
PostPosted: Thu May 04, 2017 3:36 pm 
Site Admin

Joined: Sat Aug 13, 2005 9:15 am
Posts: 1087
ну так надо говорить что проц 3хх,4хх.
тогда как в топиках выше или по абсолютному адресу.


Top
 Profile  
 
PostPosted: Thu May 04, 2017 3:45 pm 

Joined: Wed Mar 19, 2008 4:12 pm
Posts: 132
Location: Ukraine
СПС всем за ответы, буду пробовать UDT...


Top
 Profile  
 
PostPosted: Sun May 28, 2017 10:57 pm 

Joined: Wed Mar 19, 2008 4:12 pm
Posts: 132
Location: Ukraine
Дабы не плодить темы, подскажите пожалуйста почему при мониторинге FB на SCL у меня такая фигня:
Image
эта переменная является входом FB и инициализирована.
СПС


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC + 3 hours


Who is online

Users browsing this forum: Aleks333777333 and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by International PLCforum® Forum Software © PLCforum
Mobile version