Примерно так (как вариант):
1. Создайте в Modbus устройстве нужное количество DWORD (4байта) регистров и назовите их, например, PhoneNum_1 ... PhoneNum_N
2. Создайте необходимые переменные, например
VAR_GLOBAL
PhoneList: ARRAY [0..N] OF STRING(12); (*Список телефонов для рассылки смс*)
PhoneListCount: BYTE; (* Количество реальных телефонов в списке *)
END_VAR
3. Создать PRG с примерно следующим содержимым
PROGRAM Dword2phone
VAR
i:BYTE;
END_VAR
i:=0;
IF PhoneNum_1 > 320000000 AND PhoneNum_1 < 999999999 THEN
PhoneList[i]:=CONCAT('380',DWORD_TO_STRING(PhoneNum_1));
i:=i+1;
END_IF;
.....
IF PhoneNum_N > 320000000 AND PhoneNum_N < 999999999 THEN
PhoneList[i]:=CONCAT('380',DWORD_TO_STRING(PhoneNum_N));
i:=i+1;
END_IF;
PhoneListCount:=i;
4.При вызове FB массовой рассылки я предварительно по фронту вызываю эту PRGшку и
FB_SMS_SL.NumCount:=PhoneListCount;(*тут имя экземпляра поставить*)
p.s. 32... и 99... - номера всех мобильных операторов находятся в этом диапазоне (не только мобильные но и коды городов)
p.p.s. Про панель не написал, но и так ясно что в эти регистры с панели надо писать номера телефонов типа 661234567 (66 - Jeans МТС Украина)





Ответить с цитированием