누구나 MODBUS 주소를 자동으로 설정할 수있는 계획을 알고 있습니까? 필자의 상황에서는 많은 노예들이 전원을 켜고 자동으로 주소를 지정해야한다.MODBUS 자동 주소 할당
2
A
답변
0
신분증에 대해 얘기하고 있습니까? 그렇다면 슬레이브 ID는 클라이언트가 직렬 네트워크에서 상기 슬레이브를 처리 할 수 있도록 매우 중요합니다. (RS485 직렬 네트워크, 아마 ...).
Modbus 메시지를 보내고 슬레이브 ID 1로 주소를 지정해도 아무런 의미가 없기 때문에 모든 장치가 응답하려고하기 때문에 슬레이브 ID 1이되도록 할 수 있습니다. 말할 것도없이, NO Modbus에서 ID를 할당하는 방법이 있습니다. 이쪽의면에서 ...
어떤 유형의 쿼리를 수행하여 Modbus 그들은 레지스터를 가지고 있습니까? 다시 말하지만 Modbus 방식이 없지만 일부 코드에서는 40001을 쿼리 할 수 있으며 오류 2가 발생하면 레지스터를 사용할 수 없다는 것을 알 수 있습니다. 그런 다음 어떤 레지스터가 오류가 아닌 것을 반환했는지 추적하여 모든 레지스터를 루프하면 "자동 구성"의 형태가 될 수 있지만 모든 정직한면에서? 나는 이것을 추천하지 않을 것이고, 심지어 이것을 할 때 많은 가치를 보지 못할 것입니다. 등록 번호를 알아야 할뿐만 아니라, 을 반드시 알아야합니다.실제로 등록 데이터가 무엇을 의미합니까!
어쨌든 정확히하려는 것은 무엇입니까? 아마도이 목표를 달성하는 또 다른 방법이 있을까요?
MODBUS 프로토콜에는 그런 것이 없습니다. 자신의 메커니즘을 구현해야하지만 MODBUS 슬레이브를 수정할 수있는 경우에만 가능합니다. 한 가지 가능한 해결책 : 각 슬레이브에 고유 일련 번호가있는 경우 bootp와 유사한 프로토콜을 구현할 수 있습니다. 또는 일련 번호의 마지막 두 자리가 슬레이브 주소를 정의하도록 결정할 수 있습니다. –
Alexandre는 각 슬레이브를 선택하기 위해 점퍼 설정을 제안했습니다. 그 슬레이브에 액세스하는 동안 코드에서 동일한 슬레이브 ID를 언급해야합니다. – kapilddit