Posted 5 Dec 2016 Hi, Iam new to schneider electric PLC drive programming and also to canOpen communication. I have an LMC058 PLC and there are three Lexium 32A drives connected via canOpen which inturn controls three servomotors. My question is how to find/ read hardware limit status of the axis in which limit is connected to a digital input pin of the drive. Even though the axis is properly working by configuring the digital input pins we are unable to get the digital input status of the drive. In the drive manual its given that the digital input status can be read from canOpen address 3008:F(hex) we dont know how to read the status during run time in the program . Can any one advise me how to read that address. I tried SDO_read function but its giving me error(canOpen network id Unknown). Thanks in advance. Share this post Link to post Share on other sites
Posted 9 Dec 2016 Hello everyone, Atlast i found the solution. Every parameter can be read by SDO command. In CIA405 library the SDO_Read4 can be used for reading the parameter from the drive at runtime. Syntax fbname : CIA405.SDO_READ4; fbname( NETWORK:= (networkid +1), Enable :=sdoEnable, CONFIRM => sdoConfirm, DEVICE := NodeID, CHANNEL :=1, INDEX := 16#3008, SUBINDEX := 16#F, DATA =>(Pointer toArray of 4 bytes), DATALENGTH => dataLengthSize, ERRORINFO => o_sdoError); Change sdoEnable to true . Make it false when sdoConfirm become true. Share this post Link to post Share on other sites