Форум TRACE MODE: техническая поддержка
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
Послать новую тему / Post New Topic  
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version » Кто работал с PLC Fatek или подобными, помогите

   
Автор / Author Тема / Topic: Кто работал с PLC Fatek или подобными, помогите
Jaer
Junior Member / Новичок
Участник № / Member № 6037


Icon 1 отправлено / posted      Профиль для / Profile for Jaer           Редактировать/удалить сообщение / Edit/Delete Post 
Здравствуйте!Проблема следующая: не могу ни записать, ни считать входы/выходы c контроллера Fatek FBs-40MA.
Конфигурация: Windows XP, TM6 (base), плата МОХА СР-132, используется СОМ 6, RS-485, присоединенный к порту 2
контроллера. В WinProladder"е работает. В документации к контроллеру указано, что поддерживается протокол ModBus RTU.
Создал входной и выходной каналы, с отображением на экране, как указано
в фильмах. Пытаюсь записывать в входные и выходные регистры соответственно со смещением F00 и F40.Ничего не происходит.
Контроллер находится в режиме останова, в а Proladder"е он был в режиме работы. Попробовал включать-выключать каналы
(есть внешний пульт), тоже ничего не происходит. А что-то не понимаю или не так делаю?
вот лог с Debugon = 400

(16:13:4) INF_LOAD:Starting... in_test_1_0
(16:13:4) INF_RTM:Detected NT5.RTM 5.1
(16:13:4) INF_RTM:Base TRACE MODE 6 Profiler T-Factory RTM+ ver. 6.08.0
(16:13:4) ._.:RTM
(16:13:4) INF_LOAD:max channel = 65535
(16:13:4) INF_LOAD:Load Channels = 3
(16:13:4) INF_LOAD:Templates=1 (math=0 sql=0 scr=1 doc=0 pnl=0)
(16:13:4) INF_LOAD:Objects = 3
(16:13:4) INF_RTM:Timer=0.055s CalcLoop=550ms
(16:13:4) INF_LOAD:LoadTime=0.047s CalcPeriod=550ms
(16:13:4) INF_RTM:free_mem=110(125) handle=0 user=0 gui=0 after load
(16:13:4) INF_RTM:DayLight enabled
(16:13:7) INF_RTM:ModeSwitch e15=0000 e18=0000 e20=0000 [0]
(16:13:7) INF_RTM:mode=2(Work) e15=00 e18=00 e20=00 [0-0-src4]
(16:13:7) INF_RTM:start time is 0.063 s
(16:13:7) INF_RTM:free_mem=110 handle=0 user=0 gui=0 after start
(16:13:7) INF_GRAPH:popup=0 scrref=0 trend=0,0 update=1
(16:13:33) INF_RTM:stoping...
(16:13:33) INF_RTM:mode=5(Stop) e15=00 e18=00 e20=00 [0-0-src0]
(16:13:33) INF_RTM:stop time is 1.297 s
(16:13:33) INF_RTM:number of calculation = 44
(16:13:33) INF_RTM:END OF WORK

Сообщения / Posts 10 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
1. Если Modbus RTU, то в релизе 6.08 надо в файле *.cnf задавать ключ
DEBUGON=200

2. Контроллер должен быть установлен в режим работы ведомым устройством протокола Modbus RTU по выбранному порту.

3. Modbus-адреса регистров и используемые функции Modbus для обращения к ним должны соответстветствовать документации контроллера.

4. COM-порт ПК должен быть настроен так же, как и COM-порт контроллера.

Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Jaer
Junior Member / Новичок
Участник № / Member № 6037


Icon 1 отправлено / posted      Профиль для / Profile for Jaer           Редактировать/удалить сообщение / Edit/Delete Post 
" 1. Если Modbus RTU, то в релизе 6.08 надо в файле *.cnf задавать ключ
DEBUGON=200 "
*.cnf - это "TMcom_<имя проекта>.cnf" ?

"2. Контроллер должен быть установлен в режим работы ведомым устройством протокола Modbus RTU по выбранному порту."
Вот кто бы сказал как это сделать... В описании что-то не нашел.

3. Смещения адресов такие, как указал.
4. Настроены вроде одинакого.

Сообщения / Posts 10 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Речь идет о файле TMcom_<ordinal>.cnf.
Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Jaer
Junior Member / Новичок
Участник № / Member № 6037


Icon 1 отправлено / posted      Профиль для / Profile for Jaer           Редактировать/удалить сообщение / Edit/Delete Post 
Контроллер настроил, с помощь WinProladder"а на Modbus RTU (slave)на порт 2. По умолчанию, 8-е-1. Каналы in и out в ТМ тоже настроил, сом-порт в системе и ТМ соответствуют настройкам контроллера. Смещения как указаны.
Пошел обмен данными (судя по индикаторам на контроллере). Но почему-то у канала in - ошибка, и контроллер все равно в режиме останова. Создал файл TMcom_0.cnf. Проверил что он именно .cnf, а не .cnf.txt. Прописал в него
DEBUGON=200
END_OF_CNF
Пустая строка
Все равно не дает диагностики. Не подскажите, в чем дело?

Сообщения / Posts 10 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
В протоколе профайлера должны быть сообщения об инициализации COM-порта и ошибках обмена.
Можно провести диагностику ошибок обмена с помощью канала, связанного с диагностической переменной @e_MODBUS.
Можно перехватить трафик COM-порта внешней утилитой типа PortMon. Тогда можно увидеть, каеие команды посылает профайлер и какие ответы получает.

Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Jaer
Junior Member / Новичок
Участник № / Member № 6037


Icon 1 отправлено / posted      Профиль для / Profile for Jaer           Редактировать/удалить сообщение / Edit/Delete Post 
ПортМон говорит следующее:
При работе из MT по Modbus TRU:
2 10:44:34 rtc.exe IRP_MJ_CREATE MxserB00P001 SUCCESS Options: Open
3 10:44:34 rtc.exe IOCTL_SERIAL_GET_BAUD_RATE MxserB00P001 SUCCESS
4 10:44:34 rtc.exe IOCTL_SERIAL_GET_LINE_CONTROL MxserB00P001 SUCCESS
5 10:44:34 rtc.exe IOCTL_SERIAL_GET_CHARS MxserB00P001 SUCCESS
6 10:44:34 rtc.exe IOCTL_SERIAL_GET_HANDFLOW MxserB00P001 SUCCESS
7 10:44:34 rtc.exe IOCTL_SERIAL_SET_QUEUE_SIZE MxserB00P001 SUCCESS InSize: 16392 OutSize: 8192
8 10:44:34 rtc.exe IOCTL_SERIAL_GET_BAUD_RATE MxserB00P001 SUCCESS
9 10:44:34 rtc.exe IOCTL_SERIAL_GET_LINE_CONTROL MxserB00P001 SUCCESS
10 10:44:34 rtc.exe IOCTL_SERIAL_GET_CHARS MxserB00P001 SUCCESS
11 10:44:34 rtc.exe IOCTL_SERIAL_GET_HANDFLOW MxserB00P001 SUCCESS
12 10:44:34 rtc.exe IOCTL_SERIAL_SET_BAUD_RATE MxserB00P001 SUCCESS Rate: 9600
13 10:44:34 rtc.exe IOCTL_SERIAL_CLR_RTS MxserB00P001 SUCCESS
14 10:44:34 rtc.exe IOCTL_SERIAL_CLR_DTR MxserB00P001 SUCCESS
15 10:44:34 rtc.exe IOCTL_SERIAL_SET_LINE_CONTROL MxserB00P001 SUCCESS StopBits: 1 Parity: EVEN WordLength: 8
16 10:44:34 rtc.exe IOCTL_SERIAL_SET_CHAR MxserB00P001 SUCCESS EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13
17 10:44:34 rtc.exe IOCTL_SERIAL_SET_HANDFLOW MxserB00P001 SUCCESS Shake:0 Replace:0 XonLimit:2048 XoffLimit:512
18 10:44:34 rtc.exe IOCTL_SERIAL_GET_WAIT_MASK MxserB00P001 SUCCESS
19 10:44:34 rtc.exe IOCTL_SERIAL_GET_TIMEOUTS MxserB00P001 SUCCESS
20 10:44:34 rtc.exe IOCTL_SERIAL_SET_TIMEOUTS MxserB00P001 SUCCESS RI:50 RM:1 RC:300 WM:20 WC:1000
21 10:44:36 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
22 10:44:37 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
23 10:44:37 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
24 10:44:37 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
25 10:44:38 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
26 10:44:38 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
27 10:44:38 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
28 10:44:38 rtc.exe IRP_MJ_WRITE MxserB00P001 SUCCESS Length 8: ......c.
29 10:44:38 rtc.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 5: .....
30 10:44:38 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
31 10:44:39 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
32 10:44:39 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
33 10:44:39 rtc.exe IRP_MJ_WRITE MxserB00P001 SUCCESS Length 8: ......c.
34 10:44:39 rtc.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 5: .....
И так далее.
При работе на том же порте по протоколу Fatek:
0 16:21:24 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
1 16:21:24 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
2 16:21:24 WProlad.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 14: FF003FFFFF003F
3 16:21:24 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
4 16:21:24 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
5 16:21:24 WProlad.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 14: FFFF003FFFFF00
6 16:21:24 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
7 16:21:24 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
8 16:21:24 WProlad.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 14: 3FFFFF003FFFFF
9 16:21:24 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
10 16:21:24 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
11 16:21:24 WProlad.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 14: 003FFFFF003FFF
12 16:21:24 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
13 16:21:24 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
14 16:21:25 WProlad.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 14: FF0000FFFF042E
15 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
16 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
17 16:21:25 WProlad.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 19: FFFF002A00000000AB.
18 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
19 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
20 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
21 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
22 16:21:25 WProlad.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 14: .01150002A0000
23 16:21:25 WProlad.exe IRP_MJ_WRITE MxserB00P001 SUCCESS Length 122: .01151001;000001800000170000015000001500000150000015000001500000
24 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
25 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
26 16:21:25 WProlad.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 14: 003FFFFF003FFF
27 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
28 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
29 16:21:25 WProlad.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 14: FF003FFFFF003F
30 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
31 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
32 16:21:25 WProlad.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 14: FFFF003FFFFF00
33 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
34 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
35 16:21:25 WProlad.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 14: 3FFFFF003FFFFF
36 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
37 16:21:25 WProlad.exe IOCTL_SERIAL_WAIT_ON_MASK MxserB00P001 SUCCESS
38 16:21:25 WProlad.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 42: 003FFFFF003FFFFF0006000000060000003FFFFF02

И работает корректно..

Сообщения / Posts 10 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Нет смысла изучать трафик обмена по протоколу FATEK, т.к. он не имеет ничего общего с Modbus RTU.

Нужен текст протокола профайлера Trace Mode 6.

А ProtMon надо настроить так, чтобы он показывал текст транзакций в HEX-коде, а не в ASCII.

Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Jaer
Junior Member / Новичок
Участник № / Member № 6037


Icon 1 отправлено / posted      Профиль для / Profile for Jaer           Редактировать/удалить сообщение / Edit/Delete Post 
Ну вот с настройкой по HEX
0 15:05:40 rtc.exe IRP_MJ_CREATE MxserB00P001 SUCCESS Options: Open
1 15:05:40 rtc.exe IOCTL_SERIAL_GET_BAUD_RATE MxserB00P001 SUCCESS
2 15:05:40 rtc.exe IOCTL_SERIAL_GET_LINE_CONTROL MxserB00P001 SUCCESS
3 15:05:40 rtc.exe IOCTL_SERIAL_GET_CHARS MxserB00P001 SUCCESS
4 15:05:40 rtc.exe IOCTL_SERIAL_GET_HANDFLOW MxserB00P001 SUCCESS
5 15:05:40 rtc.exe IOCTL_SERIAL_SET_QUEUE_SIZE MxserB00P001 SUCCESS InSize: 16392 OutSize: 8192
6 15:05:40 rtc.exe IOCTL_SERIAL_GET_BAUD_RATE MxserB00P001 SUCCESS
7 15:05:40 rtc.exe IOCTL_SERIAL_GET_LINE_CONTROL MxserB00P001 SUCCESS
8 15:05:40 rtc.exe IOCTL_SERIAL_GET_CHARS MxserB00P001 SUCCESS
9 15:05:40 rtc.exe IOCTL_SERIAL_GET_HANDFLOW MxserB00P001 SUCCESS
10 15:05:40 rtc.exe IOCTL_SERIAL_SET_BAUD_RATE MxserB00P001 SUCCESS Rate: 9600
11 15:05:40 rtc.exe IOCTL_SERIAL_CLR_RTS MxserB00P001 SUCCESS
12 15:05:40 rtc.exe IOCTL_SERIAL_CLR_DTR MxserB00P001 SUCCESS
13 15:05:40 rtc.exe IOCTL_SERIAL_SET_LINE_CONTROL MxserB00P001 SUCCESS StopBits: 1 Parity: EVEN WordLength: 8
14 15:05:40 rtc.exe IOCTL_SERIAL_SET_CHAR MxserB00P001 SUCCESS EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13
15 15:05:40 rtc.exe IOCTL_SERIAL_SET_HANDFLOW MxserB00P001 SUCCESS Shake:0 Replace:0 XonLimit:2048 XoffLimit:512
16 15:05:40 rtc.exe IOCTL_SERIAL_GET_WAIT_MASK MxserB00P001 SUCCESS
17 15:05:40 rtc.exe IOCTL_SERIAL_GET_TIMEOUTS MxserB00P001 SUCCESS
18 15:05:40 rtc.exe IOCTL_SERIAL_SET_TIMEOUTS MxserB00P001 SUCCESS RI:50 RM:1 RC:300 WM:20 WC:1000
19 15:05:46 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
20 15:05:46 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
21 15:05:46 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
22 15:05:46 rtc.exe IRP_MJ_WRITE MxserB00P001 SUCCESS Length 8: 01 04 0F 01 00 01 63 1E
23 15:05:46 rtc.exe IRP_MJ_READ MxserB00P001 TIMEOUT Length 5: 01 84 02 C2 C1
24 15:05:46 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
25 15:05:46 rtc.exe IOCTL_SERIAL_PURGE MxserB00P001 SUCCESS Purge: TXCLEAR RXCLEAR
26 15:05:46 rtc.exe IRP_MJ_WRITE MxserB00P001 SUCCESS Length 8: 01 05 00 00 00 00 CD CA

Сообщения / Posts 10 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Послан запрос значения Input-регистра с адресом 0x0F01
01 04 0F 01 00 01 63 1E

В ответ получено сообщение об ошибке
01 84 02 C2 C1
где код ошибки 02 означает неправильный адрес регистра (02 ILLEGAL DATA ADDRESS).

Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Jaer
Junior Member / Новичок
Участник № / Member № 6037


Icon 1 отправлено / posted      Профиль для / Profile for Jaer           Редактировать/удалить сообщение / Edit/Delete Post 
Ага, большое спасибо... С этим понятно
А как доступиться с дискретным (битовым) каналам входов-выходов? В PLC это Х (0-255) - in, Y (0-255) - out. В моем случае Х (0-23) и Y (0-15). Создал источник Modbus W_SingleCoil(5), со смещением 0 (в этом случае смещение считается побитово, или нет?), канал in (Создался типа Hex16) и попытался и в отладчике повводить значение, и принудительно сигнал (On/Off) на контроллер подавать. В Портмоне ошибок вроде нет, но нет и реакции ни на то, ни на другое.

Сообщения / Posts 10 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Смещение для битовых Modbus переменных исчисляется в битах.
W_SingleCoil(5) - это функция записи, видимо, в переменные Y.
Канал Input не посылает команду управления, он запрашивает значение.
Надо в компоненте W_SingleCoil(5) задать направление OUT и привязанный к нему канал Hex16 тоже сделать типа OUT.
Почитайте описание протокола Modbus.

Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Jaer
Junior Member / Новичок
Участник № / Member № 6037


Icon 1 отправлено / posted      Профиль для / Profile for Jaer           Редактировать/удалить сообщение / Edit/Delete Post 
Т.е его значение (канал in) программно нельзя изменить? И если запрашивает значение - то тогда почему не менялось его значение в отладчике? При принудительной смене (с пульта) с 0 на 1? или W_SingleCoil(5)существует только для записи, а не считавыния значения? А как тогда считать с бита значение? Побайтно считывать? RInByte? Пропробую создать канал output со смещением 256 и далее, посмотрю что получится.
Сообщения / Posts 10 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Jaer
Junior Member / Новичок
Участник № / Member № 6037


Icon 1 отправлено / posted      Профиль для / Profile for Jaer           Редактировать/удалить сообщение / Edit/Delete Post 
Гм. Создал W_SingleCoil(5)(out-out), начал со смещения 101 (Hex) - идет ошибка 02.. Со смещением 0 - пишет что-то, но никаких результатов не дает, каналы на индикаторе контроллера не высвечиваются. В описании распределения памяти контроллера четко сказано 0-255 input chanels, 256-511 - output. Хотел создать по шаблону сразу на все 512 каналов - да что-то отладчик не запускается так. Ничего не понимаю...
Сообщения / Posts 10 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Функция W_SingleCoil(5) предназначена только для записи.
W_SingleCoil(5) с адресом 0 должна получить в ответ либо подтверждение принятой и исполненной команды (читайте описание протокола Modbus), либо сообщение об ошибке.
Если W_SingleCoil(5) с адресом 0x101 получает в ответ сообщение об ошибке, надо выяснять причину по описанию контроллера или у его поставщиков.

Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Jaer
Junior Member / Новичок
Участник № / Member № 6037


Icon 1 отправлено / posted      Профиль для / Profile for Jaer           Редактировать/удалить сообщение / Edit/Delete Post 
Если я правильно все понимаю, то устройство, сконфигурированное по какому-то порту как Modbus RTU slave, должно разбираться в своем адресном пространстве по протоколу. И если ему посылают какую-то функцию, то она понимает (должно понимать) что куда. А описание протокола Modbus говорит что "все начинается с нуля" (дискретные входы, выходы, регистры входов-выходов и т.д). И получая от ведущего ком-порта, устройство само по виду функции разбирается. Так что вроде команда W_SingleCoil(5) со смещением 101 (Hex), действительно некорректна. Со смещением 0 - по идее правильна, но при записи в компонентах в этот канал FFOO - вроде это перевод канала в "ON", на контролере не загорается индикатор канала. А вот почему-то команда RinByte в формате (in-in)со смешением 0 - некорректна! Хотя по идее это вообще самое начало адресного пространства. Или я опять чего-то не так понимаю?
Сообщения / Posts 10 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
W_SingleCoil(5) - команда записи одного бита.
Чтобы записать этот бит, надо в канал послать 1.
Все вопосы по адресации переменных и допустимым регламентам записи и считывания - к документации на устройство.

Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Jaer
Junior Member / Новичок
Участник № / Member № 6037


Icon 1 отправлено / posted      Профиль для / Profile for Jaer           Редактировать/удалить сообщение / Edit/Delete Post 
Нарыл адресацию:
Available Range( 5 Code )
Modbus FATEK Description
00001~00256 Y0~Y255 Discrete Output
01001~01256 X0~X255 Discrete Input
02001~04002 M0~M2001 Discrete M Relay
06001~07000 S0~S999 Discrete S Relay
09001~09256 T0~T255 Status of T0~T255
09501~09756 C0~C255 Status of C0~C255
40001~44168 R0~R4167 Holding Register
45001~45999 R5000~R5998 Holding Register or ROR
46001~48999 D0~D2998 Data Register
49001~49256 T0~T255 Current Value of T0~T255
49501~49700 C0~C199 Current Value of C0~C199( 16-bit)
49701~49812 C200~C255 Current Value of C200~C255( 32-bit)

НО все равно RinByte(2) в формате (in-in) со смещением 1001, 1002 и т.д (3е9, 3еа.. ) ошибку 2 выдает..

Сообщения / Posts 10 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Обращайтесь к производителю или поставщику контроллера за консультацией.
Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Послать новую тему / Post New Topic  
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
Открыть тему / Open Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2