//Changing the operating state control, the next switch-mode converter to a running state if( (sys_status == 0x10) && ((GPIOA_IDR & (1<<6)) == 0) )sys_status = 0x30;
По схеме на PA6 типа тумблер, может надо сделать ВКЛ
//Changing the operating state control, the next switch-mode converter to a running state if( (sys_status == 0x10) && ((GPIOA_IDR & (1<<6)) == 0) )sys_status = 0x30;
По схеме на PA6 типа тумблер, может надо сделать ВКЛ
в зависимости от других значений в принятом буфере будут выполняться те или иные действия и будут ответы, в том числе и запись программы PLC. Программа ПК что нибудь похожее отправляет? Посмотреть можно каким нибудь типа Portmon.
несколько раз стучит и отваливается ,так как ответа нет...
led1 зажигается на ~0,3 секунды после подачи питания или сброса контроллера.
Добавлено after 12 minutes: Re: Open source plc STM32F103RBT6 source code Mitsubishi PLCFX1 Заливал STMFlashLoader Demo bin файл через то-же ком порт , может по другим адресам лить нужно ? объем памяти контроллеров разный...
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Плохо,что проект в iare, я немного в кеиле освоился...
Добавлено after 5 hours 50 minutes 48 seconds: Re: Open source plc STM32F103RBT6 source code Mitsubishi PLCFX1 это что монитор ком порта показывает. тоже самое ,что на осциллографе передается в контроллер 0Х05. а в ответ тишина...
Олег спасибо,я это тоже видел игрался со скоростью. толку нет... В рун стал заходить (светодиодик светится)проблема была изначально в отсутствие еепром, а потом наличии ее ,но не пустой... стер епром ,при включении в рун переходит на переключатель рун-стоп реагирует,но связи по ком порту нету. вот этот кусок ,я как-то слабо понимаю if((uart0_rxptr > 4) && (uart0_time > 9)) { LED0_ON; LED1_ON; if((uart0_rxbuf[0] == 0x01)&&(uart0_rxbuf[1] == 0x55)&&(uart0_rxbuf[2] == 0xaa)&&(uart0_rxbuf[11] == 0x12)&&(uart0_rxbuf[12] == 0xef)&&(uart0_rxbuf[13] == 0xff))
uart0_rxptr - это что и почему должно быть больше 4 ? подключил светодиодики при передачи с копма 0x5 не проходит ,если больше 010111 проходит,но дальше естественно нет. как узнать ,что находится в буферах uart0_rxbuf[0], [1] и т.д. ?
uart0_rxptr счетчик принятых байт, прибавляется в прерывании COM порта uart0_time временной счетчик, прибавляется в прерывании системного таймера /* SysTick interrupt each 1000 Hz with HCLK equal to 72MHz */ т.е. будет реагировать если пришло более 4 байт + прошло какое то время, похоже 10mS. Могу ошибаться, но микроконтроллер потом ждет типа преамбулы по ком порту 0x01 0x55 0xaa и завершение передачи 0x12 0xef 0xff, между преамбулой и концом команды микроконтроллеру. Если раскомментировать USART1->DR = 0x55;, микроконтроллер при включении пошлет байт и будет видно работает ли COM порт Как узнать - лучше отладчик, можно в другой COM порт выдавать...
uart0_rxptr счетчик принятых байт, прибавляется в прерывании COM порта uart0_time временной счетчик, прибавляется в прерывании системного таймера /* SysTick interrupt each 1000 Hz with HCLK equal to 72MHz */ т.е. будет реагировать если пришло более 4 байт + прошло какое то время, похоже 10mS. Могу ошибаться, но микроконтроллер потом ждет типа преамбулы по ком порту 0x01 0x55 0xaa и завершение передачи 0x12 0xef 0xff, между преамбулой и концом команды микроконтроллеру. Если раскомментировать USART1->DR = 0x55;, микроконтроллер при включении пошлет байт и будет видно работает ли COM порт Как узнать - лучше отладчик, можно в другой COM порт выдавать...
примерно из кода ,я так и предсталял... с stm32 совсем мало работаю. Но ,тогда я в курить не могу одного - какие нафиг 4 байта, если на первой странице (продублирую немного) imitation Mitsubishi FX1N PLC communication protocol C Code Demonstration program
при проверки связи в среде разработки ,мы на контроллер отправляем PC : 05 и должны получить ENQ request . Где здесь 4 байта? Тобишь даже в первый if уже не попасть... Цэ я дурной ,иль лыжи не едут...
да не - похоже исходник не того, не рабочий, еще можно глянуть файл "uart.c.bak" но все равно не то. Придется, если очень надо, идти по стопам Greeds74:
Код:
А вот что касается реализации - я не использовал код, который тут выложен. Всё пришлось проходить с самого начала. Если будут вопросы по реализации - пишите, постараюсь помочь.
да не - похоже исходник не того, не рабочий, еще можно глянуть файл "uart.c.bak" но все равно не то. Придется, если очень надо, идти по стопам Greeds74:
От тебя я подобного не ожидал. Ну вот кто вам сказал что на первой странице выложена секвенция байт посылаемая с писюка и обратно? Это сами команды. Ну хоть протокол изучите https://www.google.ru/url?sa=t&rct=j&q= ... KwlaCnDTsg
yuriy m, oleg110592 вы хоть краем уха о модбас слышали? Начните с нее изучение... Вы что всеръез решили что ПЛК будет на ваши одиночные байтики реагировать? Для приличия хоть на структуру посылок взгляните. № station, № PLC ни о чем не говорит , нет?
От тебя я подобного не ожидал. Ну вот кто вам сказал что на первой странице выложена секвенция байт посылаемая с писюка и обратно? Это сами команды.
Тогда вопрос - это то ,что шлют разные среды Wecon plc Editor ,GX Developer FX, GX Works2 при нажатии кнопки коннект(проверка связи и т.д.). тоже самое я вижу на осциллографе... осциллограмма выложена выше.. Может я ошибаюсь, но PLC должен что-то ответить на 0x05 ?
Я вижу по протоколу что передается не только ENQ 0x05 но и номера ПЛК, станции контрольная сумма. У вас сии номера соответствуют , забитым в ПЛК и выбранным в программе? Опять таки , в исходниках задействованы 2 UART
Я вижу по протоколу что передается не только ENQ 0x05 но и номера ПЛК, станции контрольная сумма. У вас сии номера соответствуют , забитым в ПЛК и выбранным в программе? Опять таки , в исходниках задействованы 2 UART
В программе выбирается серия FX и все. Второй uart - 485 порт . По протоколу может быть передается не только ENQ 0x05 ,но в реале то что я выложил,то и передают программы. проверенно вин7 и ХР.
yuriy m, вы что такое интерфейс представляете? Что такое целостность данных и контрольная сумма? У вас есть опыт работы хоть с каким нибудь устройством использующим протоколы?
По сабжу - смотрите в отладчике и лог анализаторе, что передается и что принимает ПЛК.
yuriy m, вы что такое интерфейс представляете? Что такое целостность данных и контрольная сумма? У вас есть опыт работы хоть с каким нибудь устройством использующим протоколы?
За 20 с лишнем лет в промышленной электроники .. ну,,, может быть ....
Вы что всеръез решили что ПЛК будет на ваши одиночные байтики реагировать?
Посещается для "ЗНАЮЩИХ" модбас, rs232, 485... и что ПЛК не реагирует на байтики - прикрепил картинку (желтым передача от PC - 0x05 и сразу же ответ от ПЛК синим) и только после этого идет все остальное... . http://img.radiokot.ru/files/100608/med ... dzb753.jpg Дальше умываю руки...
не все так просто, если с учетом модбас взглянуть:
Цитата:
В Modbus RTU разделителем сообщений (фреймов, содержащих запросы и ответы) является тишина на линии в течение не менее 3,5 символов. С учетом того, что стандартный символ передается УАРТом 11-ю битами, получаем длительность этого периода ( называют его t3.5), равную 38,5 периодов бодрейта. Например, для 9600 бод — 4,01 мс (38,5/9600).
эх времени мало сейчас разбираться... нашел по теме еще - там какие то исходники для 51 и STM32 Keil: https://github.com/KeyMove/STM32-PLC-FX1N сходу нормально не компилится
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения