Pastebot



  • CONFIGURING PASTEBOT
  • TROUBLESHOOTING

Pastebot comes with over a dozen built-in filters, but you can create your own with a system that is similar to creating a smart playlist in iTunes. Pastebot is also fast to use because there are keyboard shortcuts for every major action. If you don’t like the shortcuts Tapbots has chosen, most are also customizable too. 18 alternative and related products to Pastebot. Clipboard manager from the creators of Tweetbot. Mac Menu Bar Apps. Monday.com Gantt view. The visual tool to manage all your team's projects. 18 Alternatives to Pastebot. Clipboard history manager for your Mac. $ pastebot weibo -key 1234 -secret 23 -domain yourodmain.com input authcode: asdfsdfsdf 返回 accesstoken: youaccesstoken 过期时间: 66666666h 用户 uid: 111111 ``` 使用 `pastebot serve` 运行监控 ``` $ pastebot serve -h Usage: pastebot serve OPTIONS 开始运行 pastebot Options.

pastebot - the original clipboard to chat gateway

pastebot -f configfile

Pastebot is an IRC bot and a web server in one program. Users submit short pieces of text to the web server, and the IRC bot announces them in IRC.

Pastebot

A single pastebot instance can provide one or more web servers, each accepting connections on a different virtual host and/or port.

Likewise, a single pastebot may connect to zero or more IRC networks and announce pastes on zero or more channels on each. The pastebot merely acts as a web service in zero-bot mode.

Nearly all of pastebot's options are set in a configuration file. The general syntax for this file follows these rules:

Sections are defined by text that begins in the first column. Section parameters are indented and consist of a parameter name and its value separated by whitespace. This example defines a web_server section named 'poenet' that listens on port 8888.

Each section defines a component type within the pastebot. Each section requires a unique name since there may be more than one instance of a component. The names permit the program to reference specific components without confusion.

Some parameters may contain multiple values, though. Each value is defined on a separate configuration line using the same parameter name. For example, it's useful to configure multiple IRC servers for a bot to choose from. If one server is unavailable, it can try another. Here's how that's done:

Configuration files may contain comments, which are text after a hash mark ('#'). Comments and blank lines are ignored.

That's all.

Pastebot configuration is broken down into three section types: 'web_server', 'irc', and 'pastes'. They define the web server, irc network, and paste database that the bot will use.

Optional Administrivia

These settings make it easier to administrate pastebot. Right now it only covers a PID file, but may be expanded upon in the future. This entire section is optional, but is global for the bot.

A sample:

name

The name for this section. 'administrivia' is simple and clear, but it's not limited to this.

pidfile

A path, absolute or relative, that will hold a PID for the bot. Upon startup, this file will be read and its contents interpreted as a PID. If this PID is running, pastebot will exit with a message notifying the administrator of this fact. If this PID is not running, pastebot will write its own PID to the pidfile before continuing.

Configuring a Web Server

The web_server section defines a pastebot's web server. A pastebot may have more than one web server. Each web server is defined in a separate web_server section, and each must have a different name.

A sample:

iface HOST_OR_ADDRESS

Defines the interface host or numeric address that this web server will bind to while listening for new connections. It's common for the interface address to be different than the one the outside world sees. Required.

ifname HOST_OR_ADDRESS

Defines the web server's public address, which is displayed to users in various messages and may be different than the internal address the web service has bound to. Optional. If omitted, the value of 'iface' will be used instead.

iname BASE_URL

The 'home page' for the pastebot's web server. It's advertised in multiple places, such as the bot's WHOIS information. The BASE_URL should agree with 'ifname' and 'port'. Optional.

irc IRC_NAME

Identifies the IRC bot that will announce paste URLs. The IRC_NAME is the name of the bot as specified by the 'name' parameter of the 'irc' section. Required.

name NAME

Defines the web server's name. Each web server must have its own name so they can be referenced individually. The web server's name is also used in web page titles and IRC announcements. Required.

port PORT_NUMBER

This is the port the web server listens on. Required.

proxy ADDRESS

Optional. Used when the pastebot's web server is behind a proxy. Identifies the proxy so it may be ignored when headers are examined.

static STATIC_PATH

Optional. Defines the directory that contains static files that will be provided by the pastebot's built-in web server. Templates, graphics, and style sheets for the various served pages go here. It is essentially the Pastebot server's document root. Each web server is permitted to have its own static directory.

The Pastebot comes with a set of default static files that will be used if 'static' is not specified. The files are installed in Bot::Pastebot's architecture-dependent auto directory, which may be found by running the following Perl command:

If 'static' is omitted, the default files will be loaded from that directory.

template CLASS

Optional. Defines the class that implements the templating for generated pages. The class must define specific methods, see Bot::Pastebot::TextTemplate for which methods and return values are expected.

Configuring an IRC Bot

The irc section defines a pastebot's IRC bot. A pastebot may have zero, one, or more IRC bots. Each bot is defined in a separate irc section, and each must have a different name. A pastebot with no IRC bots is a web-only service.

A sample:

away AWAY_MESSAGE

Pastebots set themselves 'away' immediately when they connect to IRC. They run unattended, so there is nobody to answer any messages. This parameter sets the message that will be displayed to anyone examining the bot's WHOIS information.

ccinfo CTCP_CLIENT_INFO

Sets the bot's CTCP CLIENTINFO response. Optional, but some networks require that clients respond to client information requests.

channel CHANNEL

Required. Defines the channel or channels that the pastebot will automatically join when it connects to this IRC network. A pastebot may join multiple channels, each defined as a separate 'channel' entry. The channel prefix '#' may be escaped with a ' allowing the bot to join channels such as ##perl (##perl).

cuinfo CTCP_USER_INFO

Sets the bot's CTCP USERINFO response. Optional, but some networks require that clients respond to user information requests.

Auto copy and paste bot
cver CTCP_VERSION_INFO

Sets the bot's CTCP VERSION response. Optional, but some networks require that clients respond to version requests.

flags USER_FLAGS

Optional. When specified, sets the user flags that the pastebot will set once it has connected to the IRC network. Commonly set to '+i' so the bot will be 'invisible' outside the channels it's currently on. This helps reduce the amount of harassment the bot receives.

iname IRC_NAME

The pastebot's 'IRC name', which is what appears in WHOIS information. By convention, pastebots include their home page URLs here. Be sure the URL's host and port match 'ifname' and 'port' in the appropriate web_server section. Required.

join_cfg_only BOOLEAN

Optional. Defaults to 0 (false). Normally a pastebot will join any channel it's invited into. When join_cfg_only is true, however, the pastebot will only join channels that have been specified in its configuration file.

localaddr ADDRESS

Optional. The localaddr specifies an ADDRESS that the bot will bind to before making connections. This allows the bot to appear online as coming from a particular virtual host ADDRESS, if its host machine has more than one.

name NAME

Required. This is the IRC bot's internal name. To be useful, it should match the 'irc' parameter in one of the web_server sections.

nick NICKNAME

Required. Specifies the bot's nickname on the IRC network. A bot may have multiple nicknames, each specified as a separate configuration line. It will attempt to use them in order, skipping to the next in the list as it determines each is already taken. If every nickname is taken, it will append numeric digits to the names and try again.

The pastebot will periodically try to reclaim one of the original nicknames in its configuration.

quit QUIT_MESSAGE

This sets the pastebot's quit message should it need to log off for any reason.

server SERVER PORT

Sets the IRC server and port to connect to. Required. The pastebot can connect to one of several servers, each specified on a different 'server' line. If one is unavailable, it will rotate to the next.

uname USER_NAME

IRC requires clients to send a short 'user name' when establishing a connection. This parameter specifies that name.

use_ssl BOOLEAN

Optional. Set this flag to a true value to connect over SSL.

server_pass PASSWORD

Optional. Some IRC servers require a private password to connect. This parameter specifies that password.

nickserv_pass PASSWORD

Specifies the password to use to identify to the NickServ nickname service. Upon connecting to the irc server, the command '/msg NickServ IDENTIFY PASSWORD' will be issued to identify the bot to the NickServ service.

Configuring Pastebot's Database

Pastebot must store uploaded text somewhere.

check SECONDS

How often to check for expired pastes. The value is the number of SECONDS between each check. 3600 is an hour, 86400 is a day.

Performing expiration checks too frequently will slow down the bot. Currently these checks are done within the main process, which is cooperatively multitasked. The entire bot pauses while the check occurs.

TODO - Revise the expiration check to work cooperatively, or fork it into a separate process altogether.

count MAX_PASTES
Paste

Set a limit on the number of pastes a pastebot's database may hold, regardless whether they're too young to expire. This limit will be disabled if MAX_PASTES is zero.

If set, only the MAX_PASTES newest pastes will remain after a periodic expiration check.

expire MAX_AGE_SECONDS

Sets the maximum limit for the age of pastes to retain. This limit may be disabled if MAX_AGE_SECONDS is zero. If set, however, pastes that are older than MAX_AGE_SECONDS will be purged during a periodic expiration check.

name NAME

Defines the database's name. Each database must have a unique name so they may be addressed individually. Database names are not currently used, but the configuration parser requires every component to be named.

store DIRECTORY

Sets the absolute path of the base directory in which pastes will be stored. This directory will be created if it doesn't exist. Parent directories will not be created, however.

Pastebot is its own web server. It often cannot bind to port 80 because some other web server is already there. The recommended port 8888 may be hostile towards people behind firewalls.

Apache users can use ProxyPass to map a directory on their port-80 servers to a running pastebot. This feature requires Apache be built with both mod_proxy and mod_proxy_add_forward.c support, and that the add forward module come before the proxy module. For example:

Once Apache is built, you can create a virtual location for the proxy directory.

Then you must tell Apache to forward any requests in the /pastebot/ directory through to the local Pastebot server.

Now people can use your pastebot on port 80. Be sure to set your pastebot's 'iname' to match your proxy's address and path. For example:

Common problems and solutions.

Can't locate [some module] in @INC (@INC contains: ...)

Somehow Bot::Pastebot was installed without one or more prerequisites. Install the module that can't be located, and try again.

This error may show up multiple times until each required module is installed. Use a package manager, like the CPAN shell, to automate the process.

IRC client (NAME): socket error occurred: Can't assign requested address

The most likely cause is an unknown host name, either for a local machine or a remote IRC server. If a pastebot has multiple servers specified, it will rotate to the next available server in about a minute.

<something> section <name> is redefined at ##

The error is caused when two or more sections in the pastebot configuration share the same name. To fix it, configure pastebot to use different names for each section.

In practice, the error is very noisy. Fortunately you only need the first line. The following example says which section (pbtest) is redefined, and where (line 68):

Renaming one of the pbtest sections will resolve the conflict.

Pastebot is not sending any pastes to IRC

In the web form, you must use a real IRC nick of someone who is on that channel.

https://rt.cpan.org/Dist/Display.html?Queue=Bot-Pastebot

http://github.com/~rcaputo/bot-pastebot http://gitorious.org/bot-pastebot

http://search.cpan.org/dist/Bot-Pastebot/ irc://irc.perl.org/poe

Pastebot is Copyright (C) 2002-2013 by Rocco Caputo. All rights are reserved. Pastebot is free software; you may redistribute and/or modify it under the same terms as Perl itself.

To install pastebot, copy and paste the appropriate command in to your terminal.

For more information on module installation, please visit the detailed CPAN module installation guide.

(Redirected from Stencil Printing)

Stencil printing is the process of depositing solder paste on the printed wiring boards (PWBs) to establish electrical connections. It is immediately followed by the component placement stage. The equipment and materials used in this stage are a stencil, solder paste, and a printer.

The stencil printing function is achieved through a single material namely solder paste which consists of solder metal and flux. Paste also acts as an adhesive during component placement and solder reflow. The tackiness of the paste enables the components to stay in place. A good solder joint is one where the solder paste has melted well and flowed and wetted the lead or termination on the component and the pad on the board.

In order to achieve this kind of a solder joint, the component needs to be in the right place, the right volume of solder paste needs to be applied, the paste needs to wet well on the board and component, and there needs to be a residue that is either safe to leave on the board or one that can easily be cleaned.

Pastebot Download

The solder volume is a function of the stencil, the printing process and equipment, solder powder, and rheology or the physical properties of the paste. Good solder wetting is a function of the flux.

Pastebot Mac

Inputs[edit]

Inputs to the process can be classified as design input, material input and process parameter input. The output of the process is a printed wiring board that meets the process specification limits. These specifications usually are consistent solder paste volume and height, and printed solder paste aligned on the PWB pads. This determines the process yield.

In electronic design automation, the solder paste mask and thus the stencil is defined in a layer typically named tCream/bCream (EAGLE), PasteTop/PasteBot (TARGET), PASTE-VS/PASTE-RS (WEdirekt), GTP/GBP (Gerber and many others).

For improved accuracy, stencils traditionally were often mounted in proprietary aluminum frames of various kinds. Today, the usage of quick mount systems is more common at least for low volume batches, mounting the stencil pneumatically or mechanically. For this the stencil needs additional perforations for alignment following one of several mount system standards including QuattroFlex, ZelFlex, ESSEMTEC, PAGGEN, Metz, DEK VectorGuard, Mechatronic Systems and others.

Printing process[edit]

The process begins with loading the board into the printer. The internal vision system aligns the stencil to the board, after which the squeegee prints the solder paste. The stencil and board are then separated and unloaded. The bottom of the stencil is wiped about every ten prints to remove excess solder paste remaining on the stencil.

A typical printing operation has a speed of around 15 to 45 seconds per board. Print head speed is typically 1 to 8 inches per second. The printing process must be carefully controlled. Misalignment of motion from the reference results in several defects, hence the board must be secured correctly before the process begins. A snugger and vacuum holders are used to secure the X and Y axes of the board. Vacuum holders must be carefully used, as they may affect the pin-in-paste printing process if not secured properly.

The longest process is the printing operation, followed by the separation process. Post print inspection is crucial and is usually performed with special 2D vision systems on the printer or separate 3D systems.

Printed wiring boards[edit]

Design[edit]

Vision systems in the stencil printing machines use global fiducial marks for aligning the PWB. Without these fiducials the printer would not print the solder paste in exact alignment with the pads. The PWB should have close dimensional tolerances so that it mates to the stencil. This is necessary to achieve the required alignment of solder blocks on the pads.

Masking[edit]

The required accuracy in alignment can also be achieved by controlling the flow of solder on the PWB during reflow soldering. For this purpose, the space between the pads is often coated with a solder mask. The solder mask materials have no affinity to the molten solder and hence, no positive bonding is formed between them as the solder solidifies. This process is often referred to as Solder masking. The mask must be centered correctly. The mask protects the PWB against oxidation, and prevents unintended solder bridges from forming between closely spaced solder pads.

Pastebot

Also the height of the solder mask should be lower than the pad height to avoid gasketing problems. If the height of the solder mask is greater than that of the pad, then some of the solder paste would settle in the empty space between the mask and the pad. This is what is referred to as gasketing. It is a seal that fills the space between two surfaces to prevent leakages. Gasketing is a problem as the excess solder paste around the pad may be more than a nuisance factor for circuits having very small line spacing.

Finishing[edit]

The pads on the PWB are made of copper and are susceptible to oxidization. Surface oxidization on the copper will inhibit the ability of the solder to form a reliable joint. To avoid this unwanted effect, all exposed copper is protected with a surface finish.

Aperture fill and release[edit]

The core of a well printed PWB lies in the fill and release of solder paste into the aperture. When the stencil is in contact with the PWB, solder paste is applied over the top surface of the stencil using a squeegee. This causes the aperture to fill with solder paste. The PWB is then lowered from the stencil. The amount of solder paste which is released from the stencil apertures and transferred to the PWB pads, determines whether or not the print is good. Ideally, all volumes of solder paste should be equal to the volume of the corresponding stencil aperture. In reality however, this is never the case. Hence, a print is considered to be good if a certain fraction of the paste is released. One way of quantifying print performance is to calculate the transfer efficiency. This is mathematically stated as:

Transfer efficiency = (Volume of printed deposit) / (Theoretical maximum volume)

In the above expression, the theoretical maximum volume is simply the open volume of the stencil aperture. Ideally, a transfer efficiency of 1 is desired. In reality however, greater the transfer efficiency, better is the print.Now in order to get the aperture full of paste requires sufficient flow rate and sufficient fill time. Apertures which are not completely filled will not release paste onto the board, which results in clogged stencils and defective solder joints. Solder paste release is determined by the separation speed of the board from the stencil. The adhesion of the paste to the board has to provide the shearing force to overcome the adhesion of the paste to the stencil walls. This hydrodynamic shearing force depends on the separation speed.

Stencils[edit]

Stencils are used to print solder paste on the PCB. They are often made of stainless steel or nickel and are manufactured by different processes described below.

Manufacturing processes[edit]

Laser cutting[edit]

The use of laser technology allows having tighter tolerances and greater accuracy.

The aperture walls can be smoothed through electro-polishing and/or nickel plating. The laser cutting process results in trapezoidal apertures that can create better solder paste release characteristics.

The repeatability of dimensions in laser-cut stencils is generally better than that of chemical etching. With laser cutting, there are no photo films requiring precise alignment or protection from moisture.

E-FAB stencil[edit]

This stencil is formed by the process of electroforming nickel, hence the name E-FAB. The nickel has better wear characteristics than steel and electroforming creates smooth tapered aperture walls. The process also creates a ridge along the bottom of the stencil that can improve stencil-to-board gasketing and result in more consistent solder paste release.

Stencil design[edit]

Due to the need for fine pitch components, as the size of the aperture becomes smaller and smaller, they become “tall-narrow” apertures. In such cases, the apertures may be filled with solder paste but not completely released, or sometimes not even completely filled and hence get no deposits. In order to counter this problem, aperture walls are made as smooth as possible. Also, molecular layer nano coatings are put on the stencil walls so that the solder paste does not stick. Consistent fill and release is the most important output of stencil printing. When the stencil is down on the board, paste is filling the aperture and it's in contact with the pad and walls of the stencil. The contact is judged by taking the ratio of these areas i.e. the ratio of the area of the pad to the area of the walls. This is called area ratio.The information about the standards for stencil design is available at IPC Specification 7525 and other standards. In general, including stencils with tall and narrow apertures, an area ratio greater than 0.66 is recommended.

Illustrations of the various dimensions:

PitchPad widthApertureStencil thicknessAspect ratio
25151262.0
20129–105–61.7
15107–851.4
1285–64–51.2

For fine pitch stencils (smaller 20 mils pitch, 10 mils aperture), even with a 5 mils stencil, which is the most commonly used stencil thickness, the area ratio is below 1.5. This necessitates the use of a thinner stencil.For BGA/CSP and other very small apertures, the area ratio is used. It should be greater than 0.66, as this ensures a high probability of good fill and release. An area ratio below 0.66 would mean a much less reliable process.

Examples of area ratios for BGAs:

BGAPadApertureThicknessArea ratio
60 mil32306–81.25 – 0.94
50 mil25226–80.92 – 0.69
20 mil12105–60.50 – 0.42

Aperture size should be smaller than the pad size to avoid the excess solder paste or production of solder balls. A 10 to 20% reduction in aperture size as compared to the pad size is typical to minimize solder balls. Solder balls can result in malfunctioning of the electric circuit.

Other considerations[edit]

Pastebot app
Step down stencils[edit]

A PCB may need varying amounts of solder paste to be applied depending upon the design and size of components. Applying a uniform maximum level of solder may not be a good solution in this case, as these stencils often find use when 'pin and paste' technology (i.e., printing solder paste into through-holes to avoid wave soldering) and components of significantly different pitch are used in the same PWB. For this purpose, to achieve a varying solder amount, step down stencils are used.

Solder paste stencil life[edit]

Ideally, a solder paste should have, at minimum, a 4-hour stencil life. The stencil life is defined as a time period in which there will be no significant change in the solder paste material characteristics. A solder paste with a longer stencil life will be more robust in the printing process. Actual stencil life for a paste should be determined from the manufacturers' specifications and on-site verification.

Handling and storage of stencils[edit]

To improve the life and performance of stencils, they must be cleaned after use by removing any solder paste on them or within the apertures. The cleaned stencils are stored away in a protective area. Before usage, stencils are inspected for wear or damage.Stencils are typically identified by job numbers to reduce the risk of mishandling or misplacing.

Squeegee[edit]

Squeegees are used to spread solder over the stencil and to fill all apertures consistently. Squeegees come in two different types based either on metal or polyurethane. Metal squeegees are preferred over polyurethane.[citation needed] They produce very consistent solder volumes and are resistant to scooping the solder paste out of the apertures when printing. In addition, they have better wear characteristics, leading to longer life.

Common difficulties[edit]

Insufficient solder paste[edit]

Insufficient solder paste may cause poor bonds and contact between components and the board. The common causes of insufficient solder paste are poor gasketing, clogged stencil apertures, insufficient solder paste bead size, paste/stencil being used beyond recommended life span, stencil not wiped clean, or low squeegee pressure.

Smudging/bridging[edit]

The main causes of smudging/bridging are excessive squeegee pressure, inadequate stencil wiping, poor contact between the board and stencil, high temperature or humidity, or low solder paste viscosity.

Misalignment print[edit]

A typical misalignment print is usually caused by the vision system not spotting fiducials, PWB or stencil stretch, poor contact between the board and the stencil, or weak board support.

Bow and twist[edit]

A PCB board not fixed properly during solder paste printing gives poor results and increases soldering related issues. Normally, solder paste printing equipment can handle warpage of 1.0 to 3.0 mm but beyond this limit needs some special jigs or fixtures to hold the PCB. It may be difficult to tackle thick and small boards compared to thin and bigger size boards.

Statistical process control[edit]

More than 50% of defects in electronics assembly are due to solder paste printing problems. There are many parameters involved in this process, making it difficult to find the specific problem and to optimize the process. A careful statistical study of the process may be used to improve output significantly. The number of opportunities for a defect characterizes defects, not the actual number of defective parts.

Example:

If solder paste is printed on pads for a 68-pin QFP, then
Total Number of Opportunities for Defects = 68 pins + 1 for the component = 69 possible defects for printing only.

Hence, there are 69 opportunities for defects to produce one defective component. Counting the defect opportunities is the most valid process monitor. Processes are typically rated in terms of number of defects per million opportunities (DPM). As an example, a process resulting in 100 defects when given 1 million defect opportunities would have a rating of 100 DPM. World class printing processes have defect levels around 20 DPM.

Pastebot Windows

A low DPM printing process may be achieved by employing statistical techniques to determine the effects of individual parameters or interactions between different parameters. Important process parameters can then be optimized using design of experiments (DOE) techniques. These optimized parameters can then be implemented and process bench marking can begin. Statistical process control can then be used to continuously monitor and improve printing DPM levels.

See also[edit]

References[edit]

Further reading[edit]

Pastebot Download

  • Lasky, Ronald; Hall, W. James; Hickey, Katherine; Tate, Jennifer (2014). Handbook of Electronics Assembly and A Guide to SMTA Certification (1 ed.). Surface Mount Technology Association (SMTA). ISBN978-0-98888731-2.[1]
  • Tarr, Martin (2013). 'Screen and stencil printing'. Online postgraduate courses for the electronics industry. UK: University of Bolton. Archived from the original on 2014-05-28.[2]
  • Padmanapan, Sakthivel (2014-05-30). 'Workshop on SMT Stencils'(PDF). Chennai: Surface Mount Technology Association (SMTA). Archived(PDF) from the original on 2018-06-17. Retrieved 2018-06-17.
  • Mersits, Christopher (2012). 'Investigation of aperture filling and release for modern developments of the solder paste stencil printing process': 4–5, 9–10. 1535200ProQuest1328395402.Cite journal requires |journal= (help)
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Stencil_printing&oldid=1018997584'