Mesa modbus and pktUart

More
05 Sep 2023 17:47 #280008 by Donno
Replied by Donno on topic Mesa modbus and pktUart
​​​​​​Txen is from 7i92 to 74hc04 then to DE pin i see i mixed my tx an txena pin on picture 

Please Log in or Create an account to join the conversation.

More
05 Sep 2023 18:05 #280011 by PCW
Replied by PCW on topic Mesa modbus and pktUart
OK so if TXEN is high during transmission (at the MAX485 DE pin)
That's correct

So if the rest of the wiring is OK (and the A/B lines idle with A high and B low)
you should be closer, though there could also be protocol errors or perhaps
address errors if the drive does not respond

You could check TXEN and RXData (RXData should echo TXData if everything is OK)

Please Log in or Create an account to join the conversation.

More
05 Sep 2023 18:57 #280016 by Donno
Replied by Donno on topic Mesa modbus and pktUart
After TX(Yellow) then there is no RX(Red) Back.

 

I have a USB to RS458 dongle to connect to servo driver i use the following settings

Baud 19200, Data bits : 8, Stop bit  1, Parity : Even and Slave : 1. On pktuart driver i can only choose Baud,Address and parity ? the stop bits and data bits is missing ?

The other possibility is on my servo driver modbus response time is 1ms  is that too fast ?
Attachments:

Please Log in or Create an account to join the conversation.

More
05 Sep 2023 19:23 - 05 Sep 2023 19:35 #280020 by PCW
Replied by PCW on topic Mesa modbus and pktUart
If you have TX data and there is no matching RX data back
 (and /RE is GNDed), you have a hardware or wiring issue.
Last edit: 05 Sep 2023 19:35 by PCW.

Please Log in or Create an account to join the conversation.

More
05 Sep 2023 19:49 #280023 by Donno
Replied by Donno on topic Mesa modbus and pktUart
After updating firmware :
        IOPortTag & x"00" & PktUARTRTag & PktURDataPin,         -- I/O 20    
        IOPortTag & x"00" & PktUARTTTag & PktUTDataPin,           -- I/O 21
        IOPortTag & x"00" & PktUARTTTag & PktUTNDrvEnPin,        -- I/O 22

I get NULL3 is that normal ?
15                     20   IOPort       PktUARTRX        0        RXData          (In)
 3                     21   IOPort       PktUARTTX        0        TXData          (Out)
16                     22   IOPort       PktUARTTX        0        Null3           (Out)

Please Log in or Create an account to join the conversation.

More
05 Sep 2023 20:04 - 05 Sep 2023 20:05 #280025 by Donno
Replied by Donno on topic Mesa modbus and pktUart
I don't think the firmware update worked TXen is low and only high when TXing
library IEEE;
use IEEE.std_logic_1164.all;  -- defines std_logic types
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

-- Copyright (C) 2007, Peter C. Wallace, Mesa Electronics
-- http://www.mesanet.com
--
-- This program is is licensed under a disjunctive dual license giving you
-- the choice of one of the two following sets of free software/open source
-- licensing terms:
--
--    * GNU General Public License (GPL), version 2.0 or later
--    * 3-clause BSD License
--
--
-- The GNU GPL License:
--
--     This program is free software; you can redistribute it and/or modify
--     it under the terms of the GNU General Public License as published by
--     the Free Software Foundation; either version 2 of the License, or
--     (at your option) any later version.
--
--     This program is distributed in the hope that it will be useful,
--     but WITHOUT ANY WARRANTY; without even the implied warranty of
--     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--     GNU General Public License for more details.
--
--     You should have received a copy of the GNU General Public License
--     along with this program; if not, write to the Free Software
--     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
--
--
-- The 3-clause BSD License:
--
--     Redistribution and use in source and binary forms, with or without
--     modification, are permitted provided that the following conditions
--     are met:
--
--   * Redistributions of source code must retain the above copyright
--     notice, this list of conditions and the following disclaimer.
--
--   * Redistributions in binary form must reproduce the above
--     copyright notice, this list of conditions and the following
--     disclaimer in the documentation and/or other materials
--     provided with the distribution.
--
--   * Neither the name of Mesa Electronics nor the names of its
--     contributors may be used to endorse or promote products
--     derived from this software without specific prior written
--     permission.
--
--
-- Disclaimer:
--
--     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
--     "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
--     LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
--     FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
--     COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
--     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
--     BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
--     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
--     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
--     LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
--     ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
--     POSSIBILITY OF SUCH DAMAGE.
--

use work.IDROMConst.all;

package PIN_5ABOBx2D_34 is
    constant ModuleID : ModuleIDType :=(
        (HM2DPLLTag,    x"00",    ClockLowTag,    x"01",    HM2DPLLBaseRateAddr&PadT,    HM2DPLLNumRegs,        x"00",    HM2DPLLMPBitMask),
        (WatchDogTag,    x"00",    ClockLowTag,    x"01",    WatchDogTimeAddr&PadT,        WatchDogNumRegs,        x"00",    WatchDogMPBitMask),
        (IOPortTag,        x"00",    ClockLowTag,    x"02",    PortAddr&PadT,                    IOPortNumRegs,            x"00",    IOPortMPBitMask),
        (QcountTag,        x"02",    ClockLowTag,    x"02",    QcounterAddr&PadT,            QCounterNumRegs,        x"00",    QCounterMPBitMask),
        (StepGenTag,    x"02",    ClockLowTag,    x"0A",    StepGenRateAddr&PadT,        StepGenNumRegs,        x"00",    StepGenMPBitMask),
        (LEDTag,        x"00",    ClockLowTag,    x"01",    LEDAddr&PadT,                    LEDNumRegs,                x"00",    LEDMPBitMask),
        (PktUARTTTag,    x"00",    ClockLowTag,    x"01",    PktUARTTDataAddr&PadT,        PktUARTTNumRegs,        x"00",    PktUARTTMPBitMask),
        (PktUARTRTag,    x"00",    ClockLowTag,    x"01",    PktUARTRDataAddr&PadT,        PktUARTRNumRegs,        x"00",    PktUARTRMPBitMask),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),
        (NullTag,        x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000")
        );
        
    
    constant PinDesc : PinDescType :=(
--             Base func  sec unit sec func      sec pin                    -- external DB25
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 00
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 01
        IOPortTag & x"00" & StepGenTag & StepGenStepPin,        -- I/O 02
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 03        
        IOPortTag & x"00" & StepGenTag & StepGenDirPin,            -- I/O 04
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 05
        IOPortTag & x"01" & StepGenTag & StepGenStepPin,        -- I/O 06
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 07
        IOPortTag & x"01" & StepGenTag & StepGenDirPin,            -- I/O 08
        IOPortTag & x"02" & StepGenTag & StepGenStepPin,        -- I/O 09
        IOPortTag & x"02" & StepGenTag & StepGenDirPin,            -- I/O 10       
        IOPortTag & x"00" & NullTag & NullPin,                  -- I/O 11
        IOPortTag & x"00" & NullTag & NullPin,                  -- I/O 12
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 13
        IOPortTag & x"00" & QCountTag & QCountQAPin,            -- I/O 14
        IOPortTag & x"00" & QCountTag & QCountQBPin,            -- I/O 15
        IOPortTag & x"00" & QCountTag & QCountIdxPin,            -- I/O 16
                                                                        -- 26 HDR    -- IDC DB25    
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 17
        IOPortTag & x"00" & NullTag & NullPin,                       -- I/O 18
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 19
        IOPortTag & x"00" & PktUARTRTag & PktURDataPin,         -- I/O 20    
        IOPortTag & x"00" & PktUARTTTag & PktUTDataPin,           -- I/O 21
        IOPortTag & x"00" & PktUARTTTag & PktUTNDrvEnPin,        -- I/O 22
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 23    PIN 7    PIN 7    just GPIO
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 24    PIN 8    PIN 8    just GPIO
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 25    PIN 9    PIN 9    just GPIO
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 26    PIN 11    PIN 10    just GPIO
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 27    PIN 13    PIN 11    just GPIO
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 28    PIN 15    PIN 12    just GPIO
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 29    PIN 17    PIN 13    just GPIO
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 30    PIN 19    PIN 14    just GPIO
        IOPortTag & x"00" & NullTag & NullPin,                  -- I/O 31    PIN 21    PIN 15    just GPIO
        IOPortTag & x"00" & NullTag & NullPin,                  -- I/O 32    PIN 23    PIN 16    just GPIO
        IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 33    PIN 25    PIN 17    just GPIO
        

        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin, -- added for 34 pin 5I25
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,


        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin, -- added for IDROM v3
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
                    
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
        emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin);

end package PIN_5ABOBx2D_34;
Last edit: 05 Sep 2023 20:05 by Donno.

Please Log in or Create an account to join the conversation.

More
05 Sep 2023 20:09 - 05 Sep 2023 20:11 #280026 by PCW
Replied by PCW on topic Mesa modbus and pktUart
Yes, that should be OK (mesaflash doesn't know about the NTXEN pin)

But unless you get the RX data echo, nothing is going to work

I don't think the firmware update worked TXen is low and only high when TXing

That's what a MAX485 expects (active high TXEN)

 
Last edit: 05 Sep 2023 20:11 by PCW.

Please Log in or Create an account to join the conversation.

More
05 Sep 2023 20:24 #280027 by Donno
Replied by Donno on topic Mesa modbus and pktUart
I have other drivers that also don't work with 7i92! I will see if i can build arduino modbus to test TTYtoRS458

Please Log in or Create an account to join the conversation.

More
05 Sep 2023 20:31 - 05 Sep 2023 20:49 #280029 by PCW
Replied by PCW on topic Mesa modbus and pktUart
Unless you get RX data echoed from TX data if /RE is grounded
and DE is asserted this has nothing to do with the 7I92 and likely
a wiring or hardware issue.
Last edit: 05 Sep 2023 20:49 by PCW.
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

More
06 Sep 2023 06:20 #280057 by Donno
Replied by Donno on topic Mesa modbus and pktUart
I manage to Echo RX/TX only if TXena is active low

 

 

 

It does not look like the servo drive is replying any data.

 
Attachments:

Please Log in or Create an account to join the conversation.

Time to create page: 0.229 seconds
Powered by Kunena Forum