Boushard

MrPLC Member
  • Content count

    17
  • Joined

  • Last visited

Everything posted by Boushard

  1. Hi guys, I'm in another project with another brand on PLC and this time I thick I hit a pretty solid wall. Long story short, I need to change a -10 +10v signal send to a DC motor drive based on a "recipe" selected with a 10 positions camswitch. I've never programmed schneider PLC, except the zélio one who are pretty simple to understand. Apparently Modicon are much more complex to program with the knowledge I have. Is there documentation available somewhere I can use to understand how to code analog output.
  2. Thanks for your answer cHud, but I have not a single clue how to make this.   This is why I ask for documentation about how to program it. I'm use to program in ladder in Mitsubishi PLC.  Modicon are a little bit more tricky at first look!
  3. MX-Component V4.09K to VB.Net

    Hi guys, I'm currently on a positioning project with a Servo and I need to pull my data from a VB.NET application! I try to "link" MX-Component into my VB.Net application but I'm in a struggle right now! Anyone of you have ever use this combination to send data to a PLC!   Current setup: PLC: FX3U-32MT/DSS Ethernet Card: FX3U-ENET-ADP Drive: MR-JE-20A Servo:HG-KN23JK Software: VisualStudio 2013/15 MX-Component V4.09K GX-Works 2    Thanks in advance to anyone who can help me!
  4. FX5U32MTDS error code

    Thanks Gambit. All I have to do now is find a way to get rid of this thing!
  5. FX5U32MTDS error code

    Hi guys, I receive the error code, in Hexa, C035 randomly.  I've searched for an explanation about this code but found nothing. Does anyone have ever receive this code!?! FX5U32MTDS communication via MELSOFT protocol over Ethernet with MX-Component.
  6. MITSUBISHI PLC TO VB SETDEVICE

    I did't try the Setdevice, but I managed to write bit to plc using this fonction! LRET = AxActUtlType1.WriteDeviceRandom2("M406", _                                 where you want write                                                          "1", _                    how much data you want write                                                          "1")                      what you want write I change the "m406" to the output/registrary, keep the middle line as it, and change the last line to my needs!!
  7. mitsubishi gxworks3

    He probably want the software!! :P
  8. Stop positioning instruction!

    Hi guys, I need a way to stop a positioning instruction and re-enabled it without any movement/incrementation of the SD8340. Basically I have a servo positioning a trolley, have an optical safety curtain and when I cross it the safety relay attached to the curtain cut my "Servo-On" and "Forced Stop" signal to the drive. What happen now is when I reset my safety relay, SD8340 add 1000pulse or so affecting my current position.  When I forward it's not a big deal, but when I reverse and move forward again the trolley collide whit the hard stop. Tried a couple function without any success!! M61 = START_CYCLE M50= AT POSITION M1 = NORMAL END M2 = ADNORMAL END M100 = MOVE CLEAR M160 = PAUSE/CANCEL CYCLE Do we have here, someone skilled enough, to help me out with this issue.
  9. MX Component - EntryDeviceStatus

    This way work, probably not the nicest way, but that's work!!
  10. Stop positioning instruction!

    Apparently my drive doesn't have plc feedback capability!! So I move on with a little hack using LA/LAR and LB/LBR output with some SSR to convert the 5vdc signal to PLC 24vdc input. Problems are: The SSR's doesn't have an output frequency High enough to match the pulse frequency I'm using buy new on is an option but delay and cost is a downer The high-speed counter don't want to count like it suppose to I set it to "2 phase 4 multiples" to have 4 time more pulse than want the encoder send me, but no victory. He is stuck at "2 phase 1 multiple" To fix problem #2 I need to make a multiplication of the current high-speed counter value (SD4500 DWord) with another value similar to "67.73xxx" to match the value of the SD8340 (Positioning Current Address (Pulse Unit) [Low-order] (Axis 1)) I've make a couple test without any great result! Is anyone could help me out on this multiplication problem!?!  
  11. MX Component - EntryDeviceStatus

    Private Sub Input_monitor_Tick(sender As Object, e As EventArgs) Handles Input_monitor.Tick Dim lData(15) As Long 'Monitor device value storage Dim lRet As Long 'Return value lRet = AxActUtlType1.GetDevice("X0", lData(0)) lRet = AxActUtlType1.GetDevice("X1", lData(1)) lRet = AxActUtlType1.GetDevice("X2", lData(2)) lRet = AxActUtlType1.GetDevice("X3", lData(3)) lRet = AxActUtlType1.GetDevice("X4", lData(4)) lRet = AxActUtlType1.GetDevice("X5", lData(5)) lRet = AxActUtlType1.GetDevice("X6", lData(6)) lRet = AxActUtlType1.GetDevice("X7", lData(7)) lRet = AxActUtlType1.GetDevice("X10", lData(8)) lRet = AxActUtlType1.GetDevice("X11", lData(9)) lRet = AxActUtlType1.GetDevice("X12", lData(10)) lRet = AxActUtlType1.GetDevice("X13", lData(11)) lRet = AxActUtlType1.GetDevice("X14", lData(12)) lRet = AxActUtlType1.GetDevice("X15", lData(13)) lRet = AxActUtlType1.GetDevice("X16", lData(14)) lRet = AxActUtlType1.GetDevice("X17", lData(15)) If lData(0) = 1 Then lbl_X0_On.Visible = True 'Display when turning ON lbl_X0_Off.Visible = False Else lbl_X0_Off.Visible = True lbl_X0_On.Visible = False End If If lData(1) = 1 Then lbl_X1_On.Visible = True 'Display when turning ON lbl_X1_Off.Visible = False Else lbl_X1_Off.Visible = True lbl_X1_On.Visible = False End If If lData(2) = 1 Then lbl_X2_On.Visible = True 'Display when turning ON lbl_X2_Off.Visible = False Else lbl_X2_Off.Visible = True lbl_X2_On.Visible = False End If Here what my code look for monitoring Input of the PLC. I put this code in a timer tick event, it's not a "entrydevicestatus"  but I can monitor all input and output this way!!
  12. Stop positioning instruction!

    FX5U-32MT/DS MR-JE-70A HG-KN73JK Thanks Gambit, I'll take a look a this fonction!!
  13. MX-Component V4.09K to VB.Net

    https://drive.google.com/folderview?id=0B18MSGbV_z7RYXlrU2tMd2RsWTg&usp=sharing   To VB is written in french so if you have any question let me know! The MX-Component bundle include 3 software: -Communication Setup Utility -Label Utility -PLC Monitor Utility   Basically you have to add the "AxActUtlType1" function to all of the forms who require a communication with the PLC. Add "ActDefine.vb" to your project Add "MITSUBISHI ActUtlType Controls Ver1.0" to your reference.   After that I use 3 functions first: 'before all of your code to run the function below Const ELEMENT_SIZE_32BITINTEGER = 2 'Size of elements, when write/read '32bit Integer' data to the PLC. byarrBufferByte0 = BitConverter.GetBytes(CInt(number you want to write) sharrBufferForDeviceValue(0) = BitConverter.ToInt16(byarrBufferByte0, 0) 'conversion into two Dxxx if the number is too big for a 16bit sharrBufferForDeviceValue(1) = BitConverter.ToInt16(byarrBufferByte0, 2) 'The WriteDeviceBlock2 method is executed.(to D14-D15) LRET = AxActUtlType1.WriteDeviceBlock2("D308", _ 'where you want to write ELEMENT_SIZE_32BITINTEGER, _ 'do not toutch this line sharrBufferForDeviceValue(0)) 'data obtain whit the conversion above LRET = AxActUtlType1.WriteDeviceRandom2("M400", _ 'where you want to write "1", _ 'leave this at 1 "1") 'what you want to write 'Monitoring internal relay or input Dim LDATA(2) As Long 'set according to the number of relay you want to monitor starting with 0 as first Dim LRET As String LRET = AxActUtlType1.GetDevice("M30", LDATA(0)) LRET = AxActUtlType1.GetDevice("M160", LDATA(1)) It's almost that!!   If you have any question don't hesitate!! 
  14. MX-Component V4.09K to VB.Net

    Finally everything work on the VB.NET app side!! However I can't make a connection without the "Communication Setup Utility" installed on the pc. The VB code is probably not the prettiest but everything work as it should. Thanks to all of you for your help!!
  15. MX-Component V4.09K to VB.Net

    Little update! My application can send DWORD to PLC when I press a button. But since I switch to Ethernet connection type I have a 0x01808007 error code. According to the MX-Component manual, this error refer to "Socket object generation error; Creation of the Socket object failed"   I can access the plc with GX-Works 2 via Ethernet, but the communication with my application isn't working.  I try to open port 5556 in both ways on TCP protocol without success. Communication utility of MX-Component is correctly set, since the connection test is successful, I've copied every value into the "AxActProgType1" property and still no go. Connection setting in VB.NET AxActProgType1.ActUnitType = UNIT_FXETHER AxActProgType1.ActProtocolType = PROTOCOL_TCPIP Anyone have an idea what's wrong!?!  I've attached the connection setting automatically generated by the "Communication Setup utility" and a print screen of the ethernet adapter setting in GX-Works 2. Connection setting.txt
  16. MX-Component V4.09K to VB.Net

    The connection part is fixed. I can read/write PLC data from example included in MX-Component. I'm now on the integration of the fonction into my application. Basically I want to: write DWord(32bit) data into 4 "D" register when I click on a button. Live Read value of a simple Counter Live Monitor the "D8340, Y000 Current_value_register" and convert the data into "mm" on the fly Monitor I/O  Control Output with "M" relay If someone want to take a look at the VB.Net app I can post the code and also post my PLC program.
  17. MX-Component V4.09K to VB.Net

    Thx SIr, I'll take a look at this and will replie positive or negative!!